我在使用bundletool从android中的捆绑文件创建独立的apk时遇到问题。
我编写了一个包含多个模块的应用程序(可使用 splitInstallManager 单独下载)并将其部署为捆绑包 (app.aab) 文件。到目前为止一切顺利,但无论出于何种原因,我还需要为一台特定设备生成一个独立的 apk,但我似乎无法完成它。
我拥有的: 1. 我的 app.aab 2. 我的密钥库 3. 使用生成的设备的规格文件"bundletool get-device-spec"
我在做什么:
java -jar bundletool.jar build-apks --ks=[my keystore] --ks-pass=[password] --ks-key-alias=[alias] --key-pass=[key password] --bundle=app.aab --output=app.apks --device-spec=device-specs.json --overwrite
Run Code Online (Sandbox Code Playgroud)
根据
bundletool help build-apks
Run Code Online (Sandbox Code Playgroud)
当您将设备规格参数传递给工具时,它默认使用“--mode=default”,这意味着生成的 apks 文件应包含:“...如果未设置或设置为“默认”,我们会生成拆分、独立和即时APK...”。
问题是生成的 app.apks 文件仅包含“splits”子文件夹。
此外,我还收到以下警告: 警告:发生非法反射访问操作 警告:com.google.protobuf.UnsafeUtil(文件:/home/oberon/Downloads/bundletool.jar)对字段 java.nio 进行非法反射访问。 Buffer.address 警告:请考虑将此问题报告给 com.google.protobuf.UnsafeUtil 的维护者 警告:使用 --illegal-access=warn 启用进一步非法反射访问操作的警告 警告:所有非法访问操作都将被拒绝未来版本
如何生成独立的 apk?!