用于多个设备的Android JNI架构目标

时间:2012-05-08 17:47:41

标签: android ffmpeg java-native-interface

在Android中使用JNI时,是否需要编译C代码以遵守所有不同类型的ARM体系结构?例如,如果我为armeabi编译ffmpeg,我可以在所有Android设备上使用它,还是需要将它编译到不同的目标,例如armeabi-v7a?

1 个答案:

答案 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中找到详细说明。