6

我已经在我的项目中添加了一个动态功能模块,并且在尝试模拟器或直接在设备上运行(使用运行按钮)时一切正常,但是当我尝试使用命令行(:app:assembleRelease)生成 APK 时,动态功能模块不会被包括在内在最终的 APK 中,它不见了。我知道我可以创建一个 Android App Bundle,然后.aab使用所有模块创建一个 APK。但问题是:

有没有办法直接从源代码创建完整的 apk(所有模块,例如:包括动态功能)?

4

2 回答 2

2

我认为您不能直接从源代码创建完整的 apk。

你应该采取3个步骤:

  1. 构建应用程序包:

    ./gradlew clean bundleRelease

  2. 使用开关 --mode=universal 通过 bundletool 生成一个 apk

    java -jar bundletool-all-0.10.2.jar build-apks --bundle=app.aab --output=release.apks --ks=release.keystore --ks-pass=pass:xxxxxx --ks-key-alias=xxxxxxkey --key-pass=pass:xxxxxx --mode=universal

  3. 解压生成的文件:

    unzip release.apks

于 2019-08-13T09:55:11.683 回答
1

使用命令行,您应该使用:app:bundleReleasewhich 将构建一个 Android App Bundle (.San),然后用于bundletool生成 APK 并将它们部署到设备。

完整的文档可以在这里找到:https ://developer.android.com/studio/command-line/bundletool

于 2019-07-06T08:12:15.093 回答