如何编译 hello jni

2025-11-03 23:29:18

1、如果还没有配置android ndk环境,可以看“android ndk r8 r9环境配置”:

 http://jingyan.baidu.com/article/f25ef2546f53e3482c1b82da.html

注:本帖子仅仅是针对ndk r9而言,由于ndk r9存在这个bug,所互缝诉以才会有一下的操作方法,如果是r10的话,不需要这么操作,具体可以看:

http://jingyan.baidu.com/article/3ea51489e7a9bd52e61bbac7.html

这个帖子的最后有介绍,谢谢!

2、打开Eclipse,选择菜单 "File->New->other...";

如何编译 hello jni

3、选择“Android->Android Project from Existing Code”后,点击 Next;

如何编译 hello jni

4、     ① 点击"Browse..."按钮,选择"ndk根目录下->samples->hello-jni"腊悦,如我的目录是“D:\Android\android-ndk-r9d\samples\hello-jni”;

      ② 取消“Project:->Project to import->tests”的复选框;

      ③ 选中“Copy projects into workspace”

      ④ 如下图,后点击 Finish 完成

如何编译 hello jni

如何编译 hello jni

5、     ① 选择““HelloJni”工程后点击右键->Android Tools->Add Native Support...”;

      ② 在 "Add Android Native Support" 界面点击 Finish 

如何编译 hello jni

如何编译 hello jni

6、   打开工程文件 “hellojni->jni->hello-jni.c",发现报错:”Method 'NewStringUTF' could not be resolved“;如下图所示;解决方法:

①将 文件名”hello-jni.c“改为”hello-jni.cpp“;

②将文件”hello-jni.cpp“中的

函数 ”Java_com_example_hellojni_HelloJni_stringFromJNI“的最前面加上"extern C"

③将文件”hello-jni.cpp“中的

函数 ”Java_com_example_hellojni_HelloJni_stringFromJNI“

的最后一行的代码:

”return (*env)->NewStringUTF(env, "Hello from JNI !  Compiled with ABI " ABI ".");“

 改为

”return env->NewStringUTF("Hello from JNI !  Compiled with ABI " ABI ".");“

④在工程文件"hellojni->jni->Android.mk”中的

“LOCAL_SRC_FILES := hello-jni.c”改为“LOCAL_SRC_FILES := hello-jni.cpp”

⑤点击工具栏上的按钮 Build All(Ctrl+B),或者使用快捷键"Ctrl+B"

⑥改为后的文件内毙购容如下:

如何编译 hello jni

如何编译 hello jni

7、点击工程"hellojni右键->Debug As->Andrid Native Application;结果报错:

“Unable to resolve target 'android-3'”,解决方法:

打开工程文件“hellojni->AndroidManifest.xml”选择”Manifest分页->Manifest Extras->Uses SDK“,修改右边”Atributes for User Sdk“下的“Min SDK Version”为19, “Target SDK Version"为19, (注:19是android4.4.2版,目前最新版),保存;

如何编译 hello jni

如何编译 hello jni

8、保存后又发现错误提示”Avoid hardcoding the debug mode;“,解决方法:”打开AndroidManifest.xml文件Application分页“,将"Application Attributes"下的 Debuggable 属性框中的 true 清除掉;如下:(注:更好对这个问题的解决方法见我百度经验);

如何编译 hello jni

9、点击工程"hellojni右键->Debug As->Andrid Native Application;运行结构

如何编译 hello jni

10、至此已经完成,如果还有疑问可以留言哦

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢