我正在做以下教程http://mobile.tutsplus.com/tutorials/android/ndk-tutorial/。
而且我似乎无法正确编译。我收到以下错误:
dyld: unknown required load command 0x80000022
dyld: unknown required load command 0x80000022
Compile thumb : ndk1 <= native.c
dyld: unknown required load command 0x80000022
make: *** [obj/local/armeabi/objs/ndk1/native.o] Trace/BPT trap
我正在运行 Mac OS X 10.5.8。我正在使用 Gnu Make 3.81。我正在使用 mac os x 附带的 awk。我正在使用android ndk r7b。
dyld 错误似乎弹出了很多为 10.6 编译的代码,然后在 10.5.8 机器上尝试。
Android.mk 制作文件:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog
LOCAL_MODULE := ndk1
LOCAL_SRC_FILES := native.c
include $(BUILD_SHARED_LIBRARY)
native.c 文件:
#include <jni.h>
#include <string.h>
#include <android/log.h>
#define DEBUG_TAG "NDK_NDKtestActivity"
void Java_my_mumbo_jumbo_NDKtestActivity_helloLog(JNIEnv * env, jobject this, j\
string logThis)
{
jboolean isCopy;
const char * szLogThis = (*env)->GetStringUTFChars(env, logThis, &isCopy);
__android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:LC: [%s]", szLogThis);
(*env)->ReleaseStringUTFChars(env, logThis, szLogThis);
}
我可能没有在我的路径中包含一个 android 库吗?我只将 android r7b 文件夹添加到我的路径中,所以我可以找到 ndk-build?
谢谢,托马斯