我在我的应用中使用https://github.com/WritingMinds/ffmpeg-android库。 我发现Apk大小约为20mb,它在apk中使用apk分析器在apk中包含ABI(x86和armeabi-v7a)的资产。find screenshot here
所以为了解决这个问题,我使用了developer.android.com
中提到的拆分android {...
splits
{
// Configures multiple APKs based on ABI.
abi {
// Enables building multiple APKs per ABI.
enable true
// By default all ABIs are included, so use reset() and include to specify that we only
// want APKs for x86, armeabi-v7a, and mips.
// Resets the list of ABIs that Gradle should create APKs for to none.
reset()
// Specifies a list of ABIs that Gradle should create APKs for.
include "x86", "armeabi-v7a", "mips"
// Specifies that we do not want to also generate a universal Apk that includes all ABIs.
universalApk false
}
}
}
它为每个ABI生成两个Apks,但它并没有减少我使用Apk分析器检查的应用程序大小,并且它仍然拥有ABI的资产。
答案 0 :(得分:0)
可能不是最好的解决方案,但至少要考虑一些事情。您可以排除x86
和mips
架构的所有库,因为目前市场上没有mips设备,x86
设备支持armeabi-v7a
代码,但Intel Houdini库 - 这将大大减小尺寸。
对于分割的问题 - 似乎是Android Studio中的一个错误,因为代码与Google Android文档中的代码完全相同。