Re: [問題] NDK的helloworld
※ 引述《serflygod (serflygod)》之銘言:
: 各位你們好
: 我初次碰NDK,新手第一次當然跑helloworld
: 但一直碰壁無法成功
: 希望各位幫助一下
: ※有先在cygwin執行過ndk-build,生出so檔
: hello-jni.h檔:
: http://i.imgur.com/y9Xsb.jpg
: hello-jni.c檔:
: http://i.imgur.com/flVFJ.jpg
: HelloJni.java檔:
: http://i.imgur.com/WyMeU.jpg
: 檔案結構:
: http://i.imgur.com/QxPyK.jpg
: Android.mk檔:
: http://i.imgur.com/KYOuH.jpg
: 出現的錯誤訊息:
: http://i.imgur.com/obSSg.jpg
: 主要問題就是聯結不到"stringFromJNI"
: 但我已經用靜態的方法把它們連在一起了啊Q_Q
: 弄了整整兩天了
: 還是找不到問題所在
: 另外eclipse一直說我的#include <檔案.h> unresolved inclusion
: header檔裡面則是
: JNIEXPORT jstring JNICALL com_example_hellojni_HelloJni_stringFromJNI(JNIEnv
: *, jobject);
: 一直出現syntax error
: 我查網路試了很多方法還是解決不了
: 像是這幾篇:
: http://pyleaf.iteye.com/blog/1408043
: (裡面提到的解決方法:C/C++ General -> Paths and Symbols
: 但我沒C/C++這選項)
: http://hi.baidu.com/otss/blog/item/911cb762cb1fe6c8e6113a7a.html
: (裡面提到右键你的工程-->C/C++ Build-->Discovery Options-->(找到)Discovery
: profile: (选择)GCC per project scanner info profile)
: 但我右鍵我的project,也是沒有找到c/C++的選項...*_*
: 我的project右鍵會出現的選項:
: http://i.imgur.com/dCv5J.jpg
: 在想是不是我創造project選錯選項
: 但我也是跟著別人的教程走的啊OTZ
這篇給你參考 也是sample/HelloJni的教程
http://cheng-min-i-taiwan.blogspot.com/2010/06/android-ndk-hellojni.html
在你的檔案結構中 一個最明顯的問題就是在lib中沒有libXXXX.so
而我在建置全新的JNI中也有同樣錯誤 但問題點在於函式名稱錯誤 導致找不到
在XXX.c中的方法實作名稱 Java_com_test_HelloActivity_hello
http://ppt.cc/lhAm
Java開頭 然後com test都是資料夾名稱
hello()的靜態宣告 是在HelloActivity中 所以名稱也要提供給他作參照
http://ppt.cc/P43l
而loadLibrary 就是要去抓lib資料夾中的libXXXX.so
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.4.191
→
05/30 22:56, , 1F
05/30 22:56, 1F
→
05/30 22:56, , 2F
05/30 22:56, 2F
→
05/30 22:57, , 3F
05/30 22:57, 3F
推
05/30 23:09, , 4F
05/30 23:09, 4F
→
05/31 11:21, , 5F
05/31 11:21, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 4 篇):