2022年android-ndkr环境搭建[整 .pdf

上传人:Che****ry 文档编号:27261324 上传时间:2022-07-23 格式:PDF 页数:10 大小:1.53MB
返回 下载 相关 举报
2022年android-ndkr环境搭建[整 .pdf_第1页
第1页 / 共10页
2022年android-ndkr环境搭建[整 .pdf_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《2022年android-ndkr环境搭建[整 .pdf》由会员分享,可在线阅读,更多相关《2022年android-ndkr环境搭建[整 .pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1)打开 Android 开发者的官网http:/ Develop 点击。2)进入后再点击Tools 3)进入后在左侧找到NDK 点击,可以见到各种平台的NDK r10,选择需要的下载。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - 5)解压下载的android-ndk32-r10-windows-x86_64.zip,将其放到你想要的目录下。注: R7之前的版本,必须要安装Cygwin 才能使用NDK。从 R7 开始, Wi

2、ndows 版本的 NDK提供了一个ndk-build.cmd脚本,可以直接利用这个脚本编译。想要做到这一点,只要为Eclipse Android 工程添加一个Builder,就能实现Eclipse的自动编译NDK,这一点在后面的步骤会有介绍。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - 6) NDK实例的实现启动 Eclipse,新建 Android 工程(此处名为TestNDK ) ,如图所示:名师资料总结 - - -精

3、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - 7) 在 TestNDK工程的根目录下新建文件夹jni, 之后找到 NDK的安装目录(sampleshello-jnijni )下的 Android.mk 和 hello-jni.c 这两个文件,将其拷贝到TestNDK-jni 文件夹下面。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页

4、,共 10 页 - - - - - - - - - 注:如果你很好奇jni 文件夹里的hello-jni.c 里的函数命名如此刁钻,是怎么写的, 并且你如果你想的更远, 已经在考虑自己以后怎么写这种文件,那么我告诉你它里面的函数命名是直接粘贴的一个头文件里的内容。这个头文件可以通过反编译下边提到的HelloJni.java 得到。如果你以后要确实要进行NDK 开发,那么你肯定要掌握反编译的方法。为了你能够少走弯路,推荐我的另一篇文章1 分钟攻克NDK 开发中javah 不能反编译的问题 ,链接网址http:/ 。8) 找到 NDK 的安装目录( sampleshello-jnisrccomex

5、amplehellojni )下的 HelloJni.java 文件,将其拷贝到TestNDK工程 src 文件夹对应的包下。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 10 页 - - - - - - - - - 9)修改项目文件AndroidManifest.xml , 将 activity 标签下的android:name = “ com.zhw.testndk. MainActivity ”修改为android:name = “com.example.hell

6、ojni.HelloJni ” 。 (注:此处的TestNDKACtivity为项目自动生成的,项目不同,此处也会不同)10) 新建并配置一个Builder 点击 Project-Properties-Builders-New ,新建立一个Builder。在弹出的对话框上面点击Program,OK!如图所示名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 10 页 - - - - - - - - - 在弹出的对话框【Edit Configuration 】中,配置选项卡【M

7、ain 】 :Location 中需要填入nkd-build.cmd 的路径( NDK安装目录下) 。Working Diretcoty 中需要填入TestNDK的工程根目录。如图所示:注:不要漏了配置选项卡【 Refresh】 ,如图所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 10 页 - - - - - - - - - 勾选“ Refresh resources upon completion ” ,勾选“ The entire workspace ” ,勾

8、选“ Recuresively include sub-folders ” 。配置选项卡【 Build Options】 ,如图七所示:勾选“ After a “ Clean” ” ,勾选“ During manual builds ” ,勾选“ During auto builds ”, 勾选“ Specify working set of relevant resources ” 。点击“ Specify Resources , ”勾选TestNDK工程的“ jni“目录,Finish!名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -

9、 - - 名师精心整理 - - - - - - - 第 8 页,共 10 页 - - - - - - - - - 当在 console 里面看到如图八所示的信息,则表示一切正常,此时就已经是自动编译代码了。注:如果不成功:Project-clean-选择工程 -点击 OK 假如你使用的是NDK-R9版本中的例子,你在console 里面会看到比上图要多的编译信息,截图如下这时候你要检查一下工程根目录下的libs 目录下的子目录,要删除libs 中多余的子文件夹,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -

10、 - - - - - 第 9 页,共 10 页 - - - - - - - - - 只留下 armeabi 文件夹和以jar 为后缀名的jar 包。10) 右键点击工程TestNDK , Run As - Android Application, 运行程序。 当出现图所示信息时,NDK 实例运行成功!如果程序运行出错,显示“应用程序* (进程: com.example.* )意外停止,请重试”的错误提示这个错误产生的原因极有可能是你的JNI文件的命名或包的声明写错了。查一下程序运行的日志 logcat,显示错误为“java.lang.UnsatisfiedLinkError:stringFro

11、mJNI ” ,说的是Java层调用本地方法 stringFromJNI 时,却没有找到这个本地方法,所以除了错。那么 Android 虚拟机怎么查找这个本地方法的呢?先说一下Android 工程的环境:包名称是com.example.testndk ,应用名称是HelloJni,如果 Java层调用了本地方法String stringFromJNI( ), 那 么Android虚 拟 机 就 会 由 这 三 个 变 量 生 成 一 个 名 字 : jstring Java_com_example_testndk_HelloJni_stringFromJNI( JNIEnv* env, jobject thiz ) ,并在本地方法中严格按照这个名字查找同名的本地方法。如果找不到, 就会返回上图的错误。所以要确认一下 JNI文件的命名或包的声明是否与Java文件中的一致。在本地文件(即C或 C+文件)改正此错误后,运行,正常显示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 10 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁