我是使用Android NDK的初學者。有關Android NDK的幫助
我使用Eclipse和我安裝了Cygwin打造的C文件生成.so文件
但在構建C文件在Cygwin中,我總是得到錯誤
make: ***No rule to make target 'file.c' ... .Stop
我試着建立不同的C代碼,但每個文件它說了同樣的錯誤..
這裏是源代碼:
public class ndktest extends Activity
{
static {
System.loadLibrary("ndkt");
}
private native void helloLog(String logThis);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
helloLog("this is to test log file");
} }
file.c
void Java_com_ndktest_helloLog(JNIEnv * env, jobject this, jstring logThis)
{
jboolean isCopy;
const char * szLogThis = (*env)->GetStringUTFChars(env, logThis, &isCopy);
(*env)->ReleaseStringUTFChars(env, logThis, szLogThis);
}
這裏是我的Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog
LOCAL_MODULE := ndkt
LOCAL_SRC_FILES := file.c
include $(BUILD_SHARED_LIBRARY)
我搜索了錯誤的原因,解決方案......但沒有爲我工作。
任何人都可以告訴我我犯了什麼錯誤嗎?
感謝,
溼婆庫馬爾
你有一個名爲'file.c'在你的Android.mk是在目錄中的文件? – Dre 2011-03-11 07:30:15
yes .. file.c與Android.mk位於同一文件夾中 – 2011-03-11 07:56:15
我可以在cygwin中解決「無法生成文件的規則」的錯誤...但是當我執行java代碼時它會給出UnsatisfiedLinkError並顯示在helloLog()函數調用時發生錯誤... – 2011-03-11 11:35:12