版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学食堂宿舍考核制度
- 优越行政建立考核制度
- 湖南省嘉禾一中、临武一中2026届高一下生物期末质量跟踪监视试题含解析
- 云南省曲靖市会泽县第一中学2026届生物高一下期末质量检测试题含解析
- 空压机消声器定制技师岗位招聘考试试卷及答案
- 云南省广南一中2026届高一生物第二学期期末达标检测模拟试题含解析
- 2025 八年级道德与法治下册法律解释正确应用指导课件
- 5S 管理工程师考试试卷及答案
- 2025 八年级道德与法治下册法律条文解析方法学习课件
- 2025 八年级道德与法治下册劳动权与休息权关联解析课件
- 2025年江苏省无锡市中考物理真题卷含答案解析
- 中国血脂管理指南2025年版ascvd的
- 科技写作与文献检索课程论文试题(卷)及答案
- (2021-2025)5年高考1年模拟物理真题分类汇编专题07 静电场(北京专用)(解析版)
- 新疆2025年通信安全员c证题库教材及答案解析
- 管家安全知识培训内容课件
- 数据处理基础讲解
- 常见疾病在输液室护理要点
- 糖尿病性外展神经麻痹的护理课件
- GJB2489A2023航空机载设备履历本及产品合格证编制要求
- 热点话题18 航天新征程:神舟二十号引领科技创新与传统突破-2025年高考语文作文主题预测+素材+模拟范文
评论
0/150
提交评论