野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16899|回复: 4

相信会AndroidSDK的不少,不知NDK的有几何,来一发起始教程

[复制链接]
发表于 2016-11-8 10:27:11 | 显示全部楼层 |阅读模式
本帖最后由 ganye 于 2016-11-8 11:09 编辑

目录

NOTE:默认已翻墙
一、搭建开发环境
1.  下载Androidstudio 2.2版本以上
https://developer.android.com/studio/index.html
2.  下载SDK(如连接真机调试,选择和真机对应的Android 下载)
1.png
2.png

3.  下载NDK开发环境
3.png

3.创建虚拟机
4.png
5.png
   


二、Android APP直接调用c代码显示helloworld
1、创建项目
6.png
选上c++支持,一路Next即可。
2、选择project
7.png
3、起始目录结构:
8.png
4、新建jni目录:
9.png
10.png
5、在jni下新建hello_world.cpp
11.png
6、选上勾自动创建对应的头文件
12.png
7、Jni目录下的结构:
13.png
8、双击hello_world.cpp AS应该会提示(每次修改c文件都点下,官方建议)
14.png
9、每次修改C文件都要点击同步,AS将自动将C文件编译成so 文件并打包到APK中


10、在CMakeLists.txt中添加编译说明(直接复制修改即可):
15.png
16.png
NOTE:注意路径
11、添加自定义c和自带库的关联:

17.png
12、利用AS自动生成函数名字:
18.png 载入自己写的C程序,以及想调用的函数名(这里随便就行),file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image028.jpg
13、看到hello_world函数为红色的,这里取个巧,利用AS自动生成c文件中的函数名,将光标停留在函数名中按  alt+enter,选第一个
19.png
20.png
14、系统自动在native-lib.cpp中生成,没关系直接剪切到hello_world.cpp中:

21.png

15、并书写代码,完全可以C++格式书写即可(函数的意思就不解释了,找JNI相关资料即可)extern “C”à让编译器以c的规则编译其中的代码

16、现在还有很多错误,原因是头文件还没添加,在hello_world.h中添加即可,以及函数的申明:
22.png

23.png
17、到此为止C代码已经完成,开始应用调用。
18、在MainActivity.java中添加代码:
24.png
19、至此代码部分全部完成别忘记点同步:

25.png
20、编译:
报错:
26.png
21、检查发现名字写错粗心改为hello_world重新编译即可:
27.png

28.png

note:排版不好看的直接下附件源文件即可。

贴上源码供参考:
链接:http://pan.baidu.com/s/1sl8evQt 密码:qkkt





AS NDK环境搭建指南.zip

967.49 KB, 下载次数: 74

回复

使用道具 举报

发表于 2016-11-8 14:04:00 | 显示全部楼层
感谢分享,下载来学习
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-8 14:43:29 | 显示全部楼层
flyleaf 发表于 2016-11-8 14:04
感谢分享,下载来学习

哈哈,来这里发这个有人回复就不错了,早上看了下Android 板块居然就一个帖子。
回复 支持 反对

使用道具 举报

发表于 2017-2-5 20:28:48 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2021-10-11 16:14:49 | 显示全部楼层
学       习       了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-19 09:56 , Processed in 0.038294 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表