作者VVll (信)
看板AndroidDev
标题Re: [问题] NDK的helloworld
时间Wed May 30 16:11:22 2012
※ 引述《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
1F:→ serflygod:真的耶,你说对了,我之前一直以为有放,你一提我才看清 05/30 22:56
2F:→ serflygod:楚 05/30 22:56
3F:→ serflygod:太感恩了,我去试看看 05/30 22:57
4F:推 serflygod:加上去了,但还是跑不起来,真的不知道死在哪,我在看看 05/30 23:09
5F:→ VVll: Java_com_example_hellojni_HelloJni_stringFromJNI 05/31 11:21