版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.Android系统是基于Linux的虚拟机,所以系统级的编程是C的,换句话说在Android上调用C是绝对可行的。2.Android调用C最方便的方法是利用Android提供的NDK(NativeDevelopmentKit)。3.鉴于暂时不需要用gdb来debug,所以不涉及在windows中利用cygwin(一款旨在移植Linux进入Windows的软件)。前提要点假设已经装好了Windows下开发Android程序常用的IDE----EclipseADT,以及JavaJDK1.安装NDK。从官网下载压缩包并解压即可,网址为/tools/sdk/ndk/index.html如图所示:2.安装Eclipse的C/C++开发工具包菜单栏->Help->InstallNewSoftware->Workwith中输入网址galileo-/releases/galileo接下来会出现图示分类展开ProgrammingLanguages并选择EclipseC/C++DevelopmentTools然后下载即可至此所有安装已经完成,接下来我们实战一个调用C的程序1.新建一个工程,按照正常步骤即可2.在工程目录下新建jni目录3.在jni目录中添加一个名为Android.mk的文件,为了防止出错,我们复制一份ndk/samples/jni/hello-jni/jni/Android.mk到工程的jni目录下如图示:4.将上一步的LOCAL_MODULE和LOCAL_SRC_FILES两行后的hello-jni和hello-jni.c分别改成test-jni和test-jni.c(MODULE是模块的意思,而SRC_FILES是源文件的意思)5.以测试两个数相加为例,我们在MainActivity中添加一个函数privatestaticnativeadd(intx,inty);注意到我们不提供它的实现6.在MainActivity中添加静态初始化块static{ System.loadLibrary("test-jni");}它的目的是加载类时加载我们前面在Android.mk里写的MODULE,最后添加一点代码方便等会测试,你懂的!至此MainActivity.java的结果如图:7.接下来我们要提供C程序的实现,它的写法是Java约定好的,我们要用javah生成MainActivity中native方法对应的头文件,并根据这份头文件编写C源文件。利用cmd进入工程的bin/classes目录下,若发现classes目录为空,则说明工程还未build过,进Eclipsebuild一下即可,输入命令javahcom.example.testndk.MainActivity,如图所示:8.将刚才生成的com_example_testndk_MainActivity.h打开看,这便是Java约定好的头文件,如图所示:9.在工程的jni目录下建立一个文件,并编写代码,最终结果如图:10.用cmd进入工程的目录并输入命令ndk-build(前提是已经把ndk添加到了环境变量PATH中,这里的ndk-build其实就是ndk目录下的ndk-build.cmd),结果如图:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030无人驾驶无人机控制系统市场现状供需分析及投资评估规划分析研究报告
- 2025-2030无人驾驶卡车行业市场现状竞争分析及投资评估规划研究报告
- 2025-2030无人机应用领域拓展与分析测量行业前景研究
- 2025-2030无人机制造行业市场深度研究及行业技术进步与商业前景展望报告
- 2025-2030新能源环保产业园行业市场供需格局分析及资金投入规划分析研究报告
- 2025-2030新能源汽车行业市场化推广策略研究及产业链协同创新模式构建与政策支持建议分析报告
- 2026届辽宁省锦州市联合校生物高三上期末达标检测试题含解析
- 刑法案例分析与教学指导
- 春季小学美术课堂教学设计
- 防火卷帘门安装技术工艺指导手册
- 要素式强制执行申请书(申请执行用)
- 学堂在线 雨课堂 学堂云 新闻摄影 期末考试答案
- 2025年4月自考00609高级日语(一)试题
- 新疆阿合奇托什干河国家湿地公园建设项目环境影响报告书
- 维修工作计划模板范文
- DB13(J)-T 8401-2021 钢丝网片复合保温板应用技术标准
- 设计公司部门领导发言稿
- 深圳科技馆新馆展教工程常设展区整体展教方案
- 《重庆市北碚区高标准农田建设规划2021-2030年》
- T-CI 451-2024 构网型光伏变换器并网技术规范
- 《公路工程预算定额》(JTGT3832-2018)
评论
0/150
提交评论