我开发了一个在Google Play中发布的应用程序。 我收到Google的来信,说我的应用程序必须适合64位设备(https://developer.android.com/distribute/best-practices/develop/64-bit)的新要求
我的应用使用了ffmpeg库,该库未提供针对64位架构的构建:https://github.com/WritingMinds/ffmpeg-android-java
如您所见,仅提供32位体系结构。
因此,我用新的FFmpeg库替换了新的https://github.com/bravobit/FFmpeg-Android
另外,我还在我的应用build.gradle
文件中添加了一行:
ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
问题1::arm
目录是指64位系统的目录吗?
问题2:上一个屏幕快照中的目录libs
哪里去了?正常吗?
这还不是全部。如您所见,APK大小增加了20 Mb。这非常糟糕,因此我决定将App Bundle机制应用于我的应用程序。
我在应用程序的build.gradle
文件中添加了几行:
bundle {
density {
enableSplit = true
}
abi {
enableSplit = true
}
}
然后组装一个捆绑包。在此之后,我希望获得一个包含apk文件的捆绑包,并按密度和abi体系结构划分。但是我只有密度划分的Bundle,对于不同的CPU没有相同的apk:
问题3:为什么我的捆绑包中不包含按CPU架构划分的apk?所有按密度划分的apk都包含两种架构(arm和armeabi)的库