版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB4114T 197-2023 小麦机收减损技术规程
- DB4106T 17-2020 居家和社区养老助餐机构服务规范
- 2024年房屋买卖合同-存量房交易规定
- 2024年度外墙及屋顶光伏发电项目合同
- 2024年房屋买卖合同标的为一套别墅
- 2024年新建住宅刮灰合同
- 2024年房屋销售授权委托书
- 2024年度建筑施工安全生产及环保措施执行合同
- 2024年北京互联网金融服务平台运营合同
- 2024年文化演艺活动劳务分包合同
- 期中测试卷(1-4单元)(试题)2024-2025学年四年级上册数学人教版
- 教育局职业院校教师培训实施方案
- 《万维网服务大揭秘》课件 2024-2025学年人教版新教材初中信息技术七年级全一册
- 2024年新华社招聘应届毕业生及留学回国人员129人历年高频难、易错点500题模拟试题附带答案详解
- 人教版(2024新版)七年级上册英语Unit 5单元测试卷(含答案)
- (完整版)新概念英语第一册单词表(打印版)
- 美食行业外卖平台配送效率提升方案
- 中国民用航空局信息中心招聘笔试题库2024
- 芯片设计基础知识题库100道及答案(完整版)
- 2025届高考语文一轮复习:文言文概括和分析 课件
- 年产10万套新能源车电池托盘项目可行性研究报告写作模板-申批备案
评论
0/150
提交评论