使用动态功能生成APK时找不到类



我有通过"com.android.dynamic feature"设置的菜单模块。当我通过android studio进行编码和运行时,一切都很好。当通过Build->Build apk打包apk时,当我在模块中启动活动时,它会崩溃Class Not Found。注意:活动路径是正确的,我想我的模块没有连接到应用中

  1. 清单模块:
<dist:module
dist:instant="false"
dist:onDemand="false"
dist:title="">
<dist:delivery>
<dist:install-time />
</dist:delivery>
<dist:fusing dist:include="true" />
</dist:module>
  1. 模块等级
apply plugin: 'com.android.dynamic-feature'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply from: '../shared_dependencies.gradle'

这里有什么错误吗?感谢

如果您使用<dist:fusing dist:include="true" />并通过APK对应用程序进行签名,它仍然不会包含在APK中。dynamic-feature仅与AAB格式一起使用。

如果你仍然想使用APK格式,你必须使用bundle-toolAAB生成universal APK

https://developer.android.com/studio/command-line/bundletool

构建具有动态功能模块的Android项目将始终在模拟器上运行,因为没有像Google Play那样的交付系统。此外,在使用功能模块时,应使用Build -> Build Bundle(s)/APK(s)->Build Bundle(s)选项。

在主模块的build.gradle文件中,您需要设置dynamicFeatures,例如:

android {
...
dynamicFeatures = [
':module1',
':module2',
':module3'
]
...
}

在动态功能模块的build.gradle文件中,您需要主模块的依赖项:

dependencies {
implementation project(':app')
}

最新更新