生成具有所有动态功能的APK

时间:2019-07-06 04:26:21

标签: android android-gradle android-app-bundle dynamic-feature

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

  

有没有一种方法可以创建完整的APK(所有模块,例如:动态   功能包括在内)直接形成源?

2 个答案:

答案 0 :(得分:2)

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

您应该采取3个步骤:

  1. 构建应用捆绑包:

    ./gradlew clean bundleRelease

  2. bundletool带有--mode = universal开关可生成一个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

答案 1 :(得分:0)

在命令行中,您应该使用:app:bundleRelease来构建Android应用程序捆绑包(.San),然后使用bundletool来生成APK并将其部署到设备上。

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