2012-09-20 63 views
3

雖然試圖使用Android的NDK-R8B它顯示的錯誤無法在Linux中使用android-ndk創建共享庫?

Your APP_BUILD_SCRIPT points to an unknown file /home/myLib/ndk1/jni/Android.mk 
Android NDK Aborting... .Stop 

對於我的應用程序創建一個共享庫,我只是創建了包含ndk1.c文件和文件Android.mk

JNI的文件夾

步驟構建庫:

export ARM_ROOT=/home/myLib/android-ndk-r8b 
    export ARM_TOOL=/home/myLib/android-ndk-r8b/toolchains/arm-linux-androideabi- 
4.4.3/prebuilt/linux-x86 
    export ARM_LIB=/home/myLib/android-ndk-r8b/platforms/android-8/arch-arm/usr/lib 
    export ARM_LIBO=/home/myLib/android-ndk-r8b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3 
    export ARM_INC=/home/myLib/android-ndk-r8b/platforms/android-8/arch-arm/usr/include 
    export ARM_PRE=arm-linux-androideabi 
    export NDK=/home/myLib/android-ndk-r8b 
    export PATH=$PATH:/home/myLib/android-ndk-r8b 
    export NDK_PROJECT_PATH=/home/myLib/ndk1 

請您寶貴的建議幫助!

回答

4

這是一個很好的教程初學者NDK http://marakana.com/forums/android/examples/49.html

在教程: 因爲你是建立在Android的NDK-R8B 重地方步驟,說

go to your NDK-HOME and run make APP=ndk_demo 

做到這一點

go to your android project directory and run ndk-build in terminal 

清單

1)請NDK路徑設置

2確定路徑),請確保您生成的頭文件,並移到jni文件夾

3)將適當的函數簽名從頭文件複製到你的c文件 這是一個人們在提到他們盲目複製函數簽名的例子時犯的錯誤,同時使用了一些其他的包名和類名。

JNIEXPORT jint JNICALL Java_com_your_package_class_method(JNIEnv *d, jobject e, jstring f); 

4)製作文件存在於您的JNI文件夾內,包含你在正確的目錄中運行NDK建造,即項目的主目錄

+0

感謝您的回答:) – info

+1

很高興成爲一些幫助=) –

1

嘗試冗長的「NDK建造」 ......這樣你就可以按照步驟一步什麼構建與指示做的.mk

NDK-建立-bV = 1

使用上述瞭解更多詳情....

+0

感謝您的正確的C文件名

5)答覆。你能解釋一下你提到的ndk-build步驟嗎?因爲我是建立共享庫的初學者。 – info

+1

你在哪裏安裝NDK?讀取$ $ NDK/docs目錄中的所有html文件。如果你不熟悉這些謹慎的步驟,你可以在GNU文檔(CC,LD,NM,AR)中閱讀關於它們的文章 –

+0

解決了我給出的一些路徑的問題是錯誤的 – info