Android ndk-build忽略APP_ABI:= x86

时间:2012-04-10 23:48:17

标签: android android-ndk

我正在尝试运行NDK来编译本机代码以在Atom(x86)处理器和ARM上运行。无论我如何设置APP_ABI,NDK都会生成armeabi库。即使我只为APP_ABI放了x86。文件大小始终相同。这是我的Application.mk文件:

LOCAL_PATH := $(call my-dir)
APP_ABI := x86
include $(CLEAR_VARS)

LOCAL_LDLIBS    := -L$(SYSROOT)/usr/lib -llog 
LOCAL_MODULE    := myjni-jni
LOCAL_SRC_FILES := myjni-jni.c

include $(BUILD_SHARED_LIBRARY)

无论我在APP_ABI之后放了什么我得到armeabi并且它总是相同的大小。这里有什么不对?我正在使用最新的NDK。

3 个答案:

答案 0 :(得分:74)

您应该将APP_ABI变量放在 Application.mk 文件而不是 Android.mk 文件中。

它写在NDK(docs / CPU-ARCH-ABIS.html文件)的文档中。

答案 1 :(得分:35)

如果您没有Application.mk文件,请在jni下的project root文件夹中创建一个文件。

  

project_root / JNI / Application.mk

向其添加目标编译平台:

  

APP_ABI:= x86

或平台:

  

APP_ABI:= armeabi armeabi-v7a x86 mips

答案 2 :(得分:4)

您也可以将APP_ABI直接设置为ndk-build shell命令:

ndk-build APP_ABI=x86