Android ndk-build忽略APP_ABI:= x86

Cod*_*oid 41 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)
Run Code Online (Sandbox Code Playgroud)

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

Mār*_*iko 74

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

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


Răz*_*nda 35

如果您没有Application.mk文件,请在jni下面创建一个内部文件夹project root.

project_root/JNI/Application.mk

添加目标编译平台:

APP_ABI:= x86

或者平台:

APP_ABI:= armeabi armeabi-v7a x86 mips


Kuk*_*nin 5

也可以APP_ABI直接设置为ndk-buildshell命令:

ndk-build APP_ABI=x86
Run Code Online (Sandbox Code Playgroud)