为什么Android应用程序包文件名创建时带有像';apks/splits/base-arm64_v8a_2.apk';?
我不知道为什么bundle的所有abi输出都有一个后缀“_2”,如下图所示 我的gradle脚本用于多个apk为什么Android应用程序包文件名创建时带有像';apks/splits/base-arm64_v8a_2.apk';?,android,android-app-bundle,Android,Android App Bundle,我不知道为什么bundle的所有abi输出都有一个后缀“_2”,如下图所示 我的gradle脚本用于多个apk 现在我想申请应用程序包 下面是build.gradle的一部分 splits { abi { enable true reset() include "armeabi-v7a", "arm64-v8a" universalApk false }
现在我想申请应用程序包 下面是build.gradle的一部分
splits {
abi {
enable true
reset()
include "armeabi-v7a", "arm64-v8a"
universalApk false
}
}
bundle {
abi {
enableSplit = true
}
}
但我认为问题不在于剧本。有人知道为什么会创建后缀吗?Bundletool创建多个APK,针对不同的Android SDK版本,以确保每种设备的应用程序大小最小 在本例中,创建了两个“基本主机”和每个ABI APK,因此其中一个后缀为_2以区分它们 通常情况下,您不需要从数据库中手动提取APK
.apks文件。您可以使用bundletool直接为给定设备安装或提取正确的APK 你说得对。在我通过
bundletool build apks--bundle=./app.aab--output=output.apks
命令创建了apks之后,我尝试安装它。但当我试图找出差异时,解压后大小完全相同。您知道bundletools内部工作原理的任何指导文档吗?本机库的压缩将有所不同:在Android M上,本机库可以在APK中保持未压缩状态,从而允许Android平台直接从APK中对其进行mmap,而无需先提取它们。尝试比较“unzip-lv xxx.apk”的输出。