次のチュートリアル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 を使用しています。そして、私はアンドロイド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ライブラリを含めていませんか?ndk-build を見つけることができるように、android r7b フォルダーのみをパスに追加しましたか?
ありがとう、トーマス