


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一:什么是ndk?ndk提供了一系列的工具,帮助开发者快速开发c (或c+)的动态库,并能自动将so和 java应用一起打包成apko这些工具对开发者的帮助是巨人的。ndk集成了交叉编译器,并提供了相应的mk文件隔离cpu、平台、abi等差异,开发人员 只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创 建出s0o ndk可以自动地将so和java应用一起打包,极人地减轻了开发人员的打包匚作。 比较简单的说,ndk是一套交义编译工具,它可以帮你把你川c或c卄书写的代码,编译为.so (类似与win下的.dll)格式的文件,使你可以在你的android程序当中用ja
2、va语言(jni) 调用这些代码.二:下载安装cygwin由于ndk编译代码时必须要用至ij make和gcc,所以你必须先搭建一个linux环境,cygwin 是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix 到windows的应川程序移植,非常有用。通过它,你就可以在不安装linux的情况卜使川ndk 来编译c、c+代码了。下而我们一步一步的安装cygwin吧。(安装的时候忘记截图了)首先,你得先跑到卜载setup.exe(我已经下载)1、然后双击运行吧,运行后你将看到安装向导界面:2、点击下一步此时让你选择安装方式:1)insta
3、ll from internet:直接从internet ±下载并立即安装(安装完成后,下载好的安装文 件并不会被删除,而是仍然被保留,以便卜次再安装)。(好久了,应该是这个)2)download without installing:只是将安装文件下载到本地,但暂时不安装。3)install from local directory:不卜载安装文件,直接从本地某个含有安装文件的日录进行 安装。3、选择第一项,然后点击下一步:4、选择要安装的目录,注意,最好不要放到有中文和空格的目录里,似乎会造成安装出问 题,具它选项不用变,之后点下一步:5、上一步是选择安装cygwin的目录,这个
4、是选择你下载的安装包所在的目录,默认是你运 行setup.exe的目录,直接点下一步就可以:6、此时你共有三种连接方式选择:1)direct connection:直接连接。2)use ie5 settings:使用ie的连接参数设置进行连接。3)use http/ftp proxy:使用http或ftp代理服务器进行连接(需要输入服务器地址、端口 号)。川户可根据白己的网络连接的实情情况进行选择,一般正常情况卜,均选择第一种,也就是 肓接连接方式。然后再点击“下一步”,7这是选择要卜载的站点,我用的是,速度感觉还挺快,选择后点卜一步( 器,挺快
5、的,用其他的,有的2k/s,而且安了好几次,有一次快好了,那个服务器关了?)8、此时会下载加载安装包列表9、search是对以输入你要卜.载的包的名称,能够快速筛选岀你要下载的包。那四个单选按 钮是选择下边树的样式,默认就行,不用动。view默认是category,建议改成full显示全部 包再查,省的一些包被隐藏掉。左下角那个复选框是是否隐藏过期包,默认打钩,不川管它 就行,下边开始下载我们要安装的包吧,为了避免全部下载,这里列岀了后面开发ndk用 得着的包:autoconf2.1、automakel.lo> binutils> gcc-core、gcc-, g+> gcc
6、4-core> gcc4-g+、 gdb、pcre> pcre-devek gawk、make(宁可多选,不能少选)共 12 个包.10、然后开始选择安装这些包吧,点skip,把它变成数字版本格式,要确保bin项变成叉号, 而src项是源码,这个就没必要选了。11、卜面测试一下cygwin是不是已经安装好了。运行cygwin,在弹岀的命令行窗口输入:cygcheck-ccygwin命令,会打印出当前cygwin的 版本和运行状态,如果status是ok的话,则cygwin运行正常。然后依次输入gcc ?v, g+ -version, make ?version, gdb ?vers
7、ion进行测试,(注意空格和) 如果都打印出版本信息和一些描述信息,非常高兴的告诉你,你的cygwin安装完成了 ! 三:配置ndk环境变量1、首先找至lj cygwin的安装目录,扌戈到一个home<你的用户名>.bash_profile文件,我的是: e:cygwinhomeadministrator.bash_profile,(注意:我安装的时候我的 home 文件夹下面神 马都没有,解决的办法:首先打开环境变量,把里面的川户变量屮的home变量删掉,在 e:cygwinhome文件夹下建立名为administrator的文件夹(是用户名),然后把 e:cygwinetcsk
8、el-bash_profile 拷贝到该文件夹卜)。2 打开 bash_profile 文件,添加 ndk=/cygdrive/<你的盘符>/<android ndk 目录>例如: ndk=/cygdrive/e/android-ndk-r5export ndkndk这个名字是随便取的,为了方面以后使用方便,选个简短的名字,然后保存3、打开cygwin,输入cd $ndk,如果输出上面配置的/cygdrive/e/android-ndk-r5信息,则表 明坏境变量设置成功了。四:用ndk来编译程序1、现在我们川安装好的ndk来编译一个简单的程序吧,我们选择ndk白带的例
9、子hello-jni, 我的位于e:android-ndk-r5sampleshello-jni(根据你具体的安装位置而定),2 运行 cygwin,输入命令 cd /cygdrive/e/android-ndk-r5/samples/hello-jni,进入到e:android-ndkr5sampleshellojni 目录。3输入$ndk/ndk-build,执行成功后,它会自动牛成-个libs目录,把编译生成的.so文件 放在里而。($ndk是调用我们之前配置好的环境变量,ndk-build是调用ndk的编译程序)4、此时去hello-jni的libs目录下看有没有生成的.so文件,如果
10、有,你的ndk就运行正常啦! 生成之后,这时候可以再用ndk的samples里边的例了生成eclipse i'程了.如卜;选择新建android工程然后如f图:然后就可以试验其他的儿个例子了.我也还在研究屮,大家一起加汕!!五:在eclipse屮集成c/c+开发环境(这个好像在国内悲剧啊,下不动啊,在传两个fan墙的软件)1、装eclipse的c/c卄环境插件:cdt,这里选择在线安装。首先登录 /cdt/downloads.php,找到对应伤eclipse 版本的 cdt 插件的 在线安装地址。2、然后点help菜单,找到install ne
11、w software菜单3、点击add按钮,把取的地址填进去,出來插件列表后,选select all,然后选择卜一步即 可完成安装4、安装完成后,在eclispe中右击新建一个项目,如果出现了 c/c+项目,则表明你的cdt 插件安装成功啦!六:配置c/c卄的编译器(建议先用命令行编译,然后再研究google ndk samples甲边的例了,然后再研究傻瓜式的编 译)打开eclipse,导入ndk自带的hello-jni例了,右键单击项目名称,点击properties,弹 出配置界面,之后再点击builders,弹出项目的编译工具列表,之后点击new,新添加一个 编译器,点击后出现添加界面,
12、选择program,点击ok2、出现了添加界面,首先给编译配置起个名字,如:c.builder设置 location 为v你 cygwin 安装路径binbash.exe 程序,例如:e:cygwinbinbash.exe,设 置 workingdirectory 为v你 cygwin 安装路径13“ 目录,例如:e:cygwinbin设置arguments为-login -c *'cd /cygdrive/e/android-ndk-r5/samples/hello-jni && $ndk/ndk-build”(不能改动的厂login ?c是神马意思我也不懂)上面的配
13、置11'/cygdrive/e/android-ndk-rs/samples/hello-jni是你当前要编译的程序的目录, $ndk是之前配置的ndk的环境变暈,这两个根据你具体的安装目录进行配置,其他的不用 变,arguments这串参数实际是给bash.exe命令行程序传参数,进入耍编译的程序目录,然 示运行ndk-build编译程序3、接着切换到 refresh 选项卡,给 refresh resources upon completion 打上钩4、然后切换到build options选项卡,勾选上最后三项5、之后点击specify resources按钮,选择资源口录,勾选你的项目目录即可6、最示点击finish,点击ok路把刚才的配置都保存下来,注臥 如果你配置的编译器在 其它编译器卜边,记得一定耍点up按钮,把它排到第一位,否则c代码的编译晚于java 代码的编译,会造成你的c代码要编译两次才能看到最新的修改7、这-路f來肯定很累了吧,现在再次恭喜你,编译配置也配直完成啦,现在来测试一下 是否可以自动编译呢,打开项目jn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黄冈市重点中学2024年数学九上期末联考试题含解析
- 河南省漯河郾城区六校联考2024年八上物理期末统考模拟试题含解析
- 2024-2025学年湖南省新邵县数学九上期末复习检测试题含解析
- 广东省惠州一中2025届化学九上期末经典试题含解析
- 广东省惠州惠城区五校联考2024-2025学年化学九上期末学业质量监测试题含解析
- 江苏省泰州市靖江实验学校2025届化学九上期末学业质量监测试题含解析
- 广东省韶关市曲江初级中学2024年九上数学期末综合测试模拟试题含解析
- 天保经费资金管理办法
- 大额技术采购管理办法
- 大型公司人情管理办法
- 雨季应急预案
- 2025年度页岩气开采井钻探及技术服务合同2篇
- 蒸汽管道工程施工方案
- 华为销售培训课件
- 辅导员评职称述职报告范本
- 《有限空间安全管理制度》
- DB23-T 3627-2023 演出经纪机构信用等级划分与评价规范
- T-GDNAS 043-2024 成人静脉中等长度导管置管技术
- DB21T 3496-2021 机电类特种设备检验记录编写指南
- 天猫店铺运营规划方案
- 营养指导员技能实践考试题
评论
0/150
提交评论