欢迎来到天天文库
浏览记录
ID:33934287
大小:130.67 KB
页数:10页
时间:2019-02-28
《ndk编程入门笔记》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、w页码,1/10(W)Android:NDK编编编程入编程入程入门笔记程入门笔记为为为何要用到为何要用到NDK?前段时间,工作中需要用android的应用程序访问android的根文件系统中的文件,但是由于应用程序的权限限制,无法访问这些文件,怎么办?所以这就要用到了NDK编程了,既用C/C++代码实现访问系统文件,并将其生成本地库,供android中的java代码调用,这样就可以在java代码中通过调用C/C++编写的库的接口来实现对系统文件的访问。下面就介下面就介绍下面就介绍绍绍下下下下AndroidNDK的入的入门的入门门门学学学学习过
2、习过习过程习过程程程::::入门的最好办法就是学习Android自带的例子,这里就通过学习Android的NDK自带的demo程序:hello-jni来达到这个目的。一一一、一、、开发环、开发环开发环境的搭建开发环境的搭建1.android的NDK开发需要在linux下进行:因为需要把C/C++编写的代码生成能在arm上运行的.so文件,这就需要用到交叉编译环境,而交叉编译需要在linux系统下才能完成。2.安装android-ndk开发包,这个开发包可以在googleandroid官网下载:通过这个开发包的工具才能将androidjni的C
3、/C++的代码编译成库3.android应用程序开发环境:包括eclipse、java、androidsdk、adt等。如何下载和安装android-ndk我这里就不啰嗦了,安装完之后,需要将android-ndk的路劲加到环境变量PATH中:sudogedit/etc/environment在environment的PATH环境变量中添加你的android-ndk的安装路劲,然后再让这个更改的环境变量立即生效:source/etc/environment经过了上述步骤,在命令行下敲:ndk-bulidfile://E:MyDown工作
4、htmlAndroidNDK编程入门笔记.htm2011/12/1w页码,2/10(W)弹出如下的错误,而不是说ndk-buildnotfound,就说明ndk环境已经安装成功了。AndroidNDK:Couldnotfindapplicationprojectdirectory!AndroidNDK:PleasedefinetheNDK_PROJECT_PATHvariabletopointtoit./home/braincol/workspace/android/android-ndk-r5/build/core/build-local
5、.mk:85:***AndroidNDK:Aborting.Stop.二二二、二、、、代代代代码码码码的的的的编编编编写写写写1.首先是首先是写首先是写写写java代代代码代码码码建立一个Android应用工程HelloJni,创建HelloJni.java文件:HelloJni.java:/**Copyright(C)2009TheAndroidOpenSourceProject**LicensedundertheApacheLicense,Version2.0(the"License");*youmaynotusethisfileexce
6、ptincompliancewiththeLicense.*YoumayobtainacopyoftheLicenseat**http://www.apache.org/licenses/LICENSE-2.0**Unlessrequiredbyapplicablelaworagreedtoinwriting,software*distributedundertheLicenseisdistributedonan"ASIS"BASIS,*WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpresso
7、rimplied.*SeetheLicenseforthespecificlanguagegoverningpermissionsand*limitationsundertheLicense.*/packagecom.example.hellojni;importandroid.app.Activity;importandroid.widget.TextView;importandroid.os.Bundle;publicclassHelloJniextendsActivity{/**Calledwhentheactivityisfirstc
8、reated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(save
此文档下载收益归作者所有