在Android中使用JNI时,是否需要编译C代码以遵守所有不同类型的ARM体系结构?例如,如果我为armeabi编译ffmpeg,我可以在所有Android设备上使用它,还是需要将它编译到不同的目标,例如armeabi-v7a?
答案 0 :(得分:3)
具有
APP_ABI := armeabi armeabi-v7a x86
在您的Application.mk中,将创建3个.so文件,这些文件与您的apk文件捆绑在一起。这应该涵盖所有相关的Android设备。我们的开发人员无需额外的工作。
关于你的问题:如果你为armeabi编译,你的应用程序将适用于armeabi和armeabi-v7a。那是因为后者是阿米巴的延伸。 您可以在ndk.dir / docs / CPU-ARCH-ABIS.html中找到详细说明。