NDK运行环境配置
珍藏版Android NDK开发环境搭建

珍藏版Android NDK开发环境搭建1、Android 开发环境搭建Android开发环境搭建不是重点,相信看此文章的很多人都已经搭建成功,这里随便概述性的说说。
1) 下载JDK2) 下载Eclipse3) 下载Android SDK4) 启动Eclipse , 安装ADT2、下载安装Android NDK我使用的NDK版本为r5Google 出的最新NDK 为r6 下载地址为/sdk/ndk/index.html3、下载安装cygwin由于NDK编译代码时必须要用到make和gcc,所以你必须先搭建一个linux环境,cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,非常有用。
通过它,你就可以在不安装linux 的情况下使用NDK来编译C、C++代码了。
下面我们一步一步的安装cygwin吧。
(安装的时候忘记截图了)1、然后双击运行吧,运行后你将看到安装向导界面:2、点击下一步此时让你选择安装方式:1)Install from Internet:直接从Internet上下载并立即安装(安装完成后,下载好的安装文件并不会被删除,而是仍然被保留,以便下次再安装)。
2)Download Without Installing:只是将安装文件下载到本地,但暂时不安装。
3)Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件的目录进行安装。
3、选择第一项,然后点击下一步:4、选择要安装的目录,注意,最好不要放到有中文和空格的目录里,似乎会造成安装出问题,其它选项不用变,之后点下一步:5、上一步是选择安装cygwin的目录,这个是选择你下载的安装包所在的目录,默认是你运行setup.exe的目录,直接点下一步就可以:6、此时你共有三种连接方式选择:1) Direct Connection:直接连接。
NDK环境搭建

解压android-ndk-r5c-windows.zip Cygwin安装步骤运行setup.exe,选第三项从本地安装cygwin设置cygwin安装到那里指定安装程序位置选中安装的内容,只选devel就可以了cygwin与Ndk集成必须用Editplus打开.profile文件,绝对不能用记事本打开windows xpD:\ndk\cygwin\home\username\.bash_profile(username是你登录电脑的用户名) 增加下面两行NDK=/cygdrive/d/android-ndk-r5c-windows/android-ndk-r5c (d是ndk-sdk解压后的盘符,后面是ndk所在的路径)export NDKWindows 2003或win7如果安装后home目录下面是空的,没有.bash_profile文件,到\cygwin\etc\skel\下找到.bash_profile文件增加下面两行NDK=/cygdrive/d/android-ndk-r5c-windows/android-ndk-r5cexport NDK然后拷贝到(C:\Documents and Settings\Administrator),有些win7要拷到c:\users目录下,重启cygwin就可以使用了测试cygwin与Ndk集成是否成功双击运行cygwin$ cd $NDK显示ndk所在文件夹的路径就说明集成成功编写c代码在windows资源管理器中找到D:\android-ndk-r5c-windows\android-ndk-r5c\samples\hello-jni\jni\hello-jni.c中查看hello-jni.c ,修改代码生成.sotttadasdfdsfdsafd@zjj ~$ cd $NDKtttadasdfdsfdsafd@zjj /cygdrive/d/android-ndk-r5c-windows/android-ndk-r5c$ cd samplestttadasdfdsfdsafd@zjj /cygdrive/d/android-ndk-r5c-windows/android-ndk-r5c/sample s$ cd hello-jnitttadasdfdsfdsafd@zjj /cygdrive/d/android-ndk-r5c-windows/android-ndk-r5c/sample s/hello-jni$ $NDK/ndk-buildGdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver Gdbsetup : libs/armeabi/gdb.setupCompile thumb : hello-jni <= hello-jni.cSharedLibrary : libhello-jni.soInstall : libhello-jni.so => libs/armeabi/libhello-jni.so在Andori中使用.so将libs拷到android项目的根目录中在android类中添加如下代码public native String stringFromJNI();static{S ystem.loadLibrary("hello-jni");}。
Android NDK开发篇(一):新版NDK环境搭建(免Cygwin,超级快)

Android NDK开发篇(一):新版NDK环境搭建(免Cygwin,超级快)以前做Android的项目要用到NDK就必须要下载NDK,下载安装Cygwin(模拟Linux环境用的),下载CDT(Eclipse C/C++开发插件),还要配置编译器,环境变量...麻烦到不想说了,Shamoo在网上查了一下资料,发现了一个超级快配置NDK的办法。
Step1:到Android官网下载Android的开发工具ADT(Android Development Tool的缩写),该工具集成了最新的ADT和NDK插件以及Eclipse,还有一个最新版本SDK。
解压之后就可以用了,非常爽!ADT插件:管理Android SDK和相关的开发工具的NDK插件:用于开发Android NDK的插件,ADT版本在20以上,就能安装NDK插件,另外NDK集成了CDT插件也可以在线更新ADT、NDK插件,不过速度超级慢...所以果断在网上下载集成开发工具ADT,下载链接见:/sdk/index.htmlStep2:到Android官网下载最新的NDK,注:NDK版本在r7以上之后就集成了Cygwin,而且还是十分精简版。
比起下载Cygwin要方便多啦!下载链接见:/tools/sdk/ndk/index.html下载完成之后,解压搞定!Step3:打开Eclipse,点Window->Preferences->Android->NDK,设置NDK路径,例如Shamoo的是E:\android-ndk-r9cStep4:新建一个Android工程,在工程上右键点击Android Tools->Add Native Support...,然后给我们的.so文件取个名字,例如:my-ndk这时候工程就会多一个jni的文件夹,jni下有Android.mk和my-ndk.cpp文件。
Android.mk是NDK工程的Makefile,my-ndk.cpp就是NDK的源文件。
Android NDK环境搭建

Android NDK概述介绍:Android NDK是一套工具,允许Android应用开发者嵌入从C、C++源代码文件编译来的本地机器代码到各自的应用软件包中。
重要:Android NDK 只能被用于使用该平台的Cupcake (1.5)或是更新发布的系统映像。
特别指出1.0和1.1系统映像不支持NDK,这是由于在1.5发布中对toolchain和相关ABI 做了改变。
1.Android NDK的目标:---------------------Android虚拟机允许你的应用程序源代码通过JNI调用实现本地代码的方法。
简而言之,这意味着:- 应用程序源代码将用…native‟关键字声明一个或多个方法来表明这些方法是通过本地代码来实现的。
例如:native byte[] loadFile(String filePath);- 你必须提供一个包含这些方法实现的本地共享库,该共享库将会打包到你的应用程序的.apk文件中。
这个共享库需要根据标准的Unix的公约来命名,像lib<something>.so,并且应包含标准JNI 切入点(以下有更详细的介绍)。
例如:libFileLoader.so- 你的应用程序应必须明确地加载这个库。
例如,在应用程序的开始加载它,只需将以下内容添加到应用程序的源代码中:static {System.loadLibrary("FileLoader");}请注意,在这里,您不需要使用'lib'前缀和'.so'后缀。
Android NDK是对Android SDK的补充,帮助你:- 生成JNI兼容共享库,这些库可以运行在ARM处理器上的Android1.5平台(及更高版本)。
- 拷贝生成共享库到应用程序工程路径的正确位置,那么它们将被自动添加到你的最后(和已签名)的.apk文件中。
- 在以后的NDK修订中,我们打算提供工具通过一个远程的gdb连接来帮助调试你的本地代码以及更多的源/符号信息。
Android NDK开发技术

第12章 Android NDK开发技术
12.2 新建NDK工程
【实验目的】
1.学会EDTA标准溶液的配制与滴定方法; 2. 掌握铬黑T指示剂使用条件和终点判断
【实验原理】
最常用的配位剂是EDTA,它能与元素中期表中绝大多数金属离子形成1:1的稳定螯合物。EDTA难 溶于水的酸性物质,通常用它的二钠盐Na2H2Y·2H2O(M=392.28g/moL)配制标准溶液。采用间接法配 制标准溶液标定EDTA溶液的基准物有Zn、ZnO、CaCO3、Bi、Cu、MgSO4 • 7H2O、Ni、Pb等。本实 验采用ZnO作基准物标定EDTA,以铬黑T(EBT)作为指示剂,用pH≈10 的缓冲溶液控制滴定时的酸 度。因为在pH≈10 的溶液中,铬黑T与Zn2+形成比较稳定的紫红色螯合物(Zn-EBT),而EDTA与Zn2+能 形成更为稳定的无色螯合物。因此,滴定至终点时,EBT 便被EDTA 从Zn-EBT中置换出来,游离的 EBT在pH = 8~11 的溶液中呈纯蓝色。
第12章 Android NDK开发技术
12.2 新建NDK工程
➢ 配置步骤
(1)新建一个Project,开始NDK的配置。 (2)在工程的MainActivity里添加如下代码: static { System.loadLibrary("MyJni");//导入生成的链接库文件} public native String getStringFromNative();//本地方法 public native String getString_From_c();
杯内壁,定量转移至250mL容量瓶中,用水稀释至刻度,摇匀。计算锌离子的准确浓 度,贴上标签备用。用移液管移取25.00mL锌离子标准溶液于250mL锥形瓶中,加5mL 缓冲溶液及少量铬黑T指示剂,摇匀,然后用EDTA滴定至溶液由酒红色变为纯蓝色, 即为终点。平行做3次,按下式计算EDTA溶液的物质的量浓度。
ndk

Linux下的NDK配置及其编译本文在Ubuntu 系统下搭建Android NDK 开发环境,并编写简单例子生成.so文件供Java层调用。
1、搭建Android NDK 开发环境1、下载NDK(我使用的是android-ndk-r5b-linux-x86.tar.bz2)2、解压到Linux用户目录,解压后的文件夹为android-ndk-r5b如果不知道当前用户目录,可以进入终端,输入echo $HOME我的用户目录为/home/billy,为了管理方便,我在用户目录下又建了一个名为software的文件夹,然后将NDK就解压到这个文件夹中。
3、配置NDK的环境变量3.1 在终端下输入gedit ~/.bashrc,然后在打开的文件末尾添加如下内容NDK=~/software/android-ndk-r5b (这里的~表示用户目录,也就是/home/billy)export NDK/保存退出3.2 为了使设置马上生效,还需要在终端输入如下内容:source ~/.bashrc由于source命令也称为“点命令”,也就是一个点符号(.),所以也可以输入$. ~/.bashrc经过上面的配置后,以后NDK就代表了/home/billy/software/android-ndk-r5b这个路径目录了3.3 最后测试一下配置是否成功在终端下输入echo $NDK显示/home/billy/software/android-ndk-r5b,表示环境变量已经配置成功说明:网上介绍用vi ~/.bashrc这个命令打开文件配置环境变量,但我尝试这种方法不管用4、编译so文件的方法在解压后的NDK目录中有一个名为ndk-build的文件,编译so文件就需要用到这个文件。
在解压后的NDK目录下的sample文件夹中有很多例子,这里已其中的hello-jni为例说明。
编译有两种方法:一种是在目标工程目录下编译,另一种是在任意目录下编译4.1 在目标工程目录下编译首先打开终端,cd到目标工程目录cd ./software/android-ndk-r5b/sample/hello-jni (这里的点也表示用户目录)然后输入$NDK/ndk-build即可如果之前没有配置NDK环境变量的话,这里就要输入很长的路径了/home/billy/software/android-ndk-r5b/ndk-build4.2在任意目录下编译在终端下直接输入$NDK/ndk-build –C ./software/android-ndk-r5b/sample/hello-jni一般采用的是第一种方法,无论哪种方法编译,编译成功后在工程目录中都会生成libs 与obj 两个子目录,so库就在libs文件夹中。
NDK环境配置
windows下eclipse android-ndk 环境配置注意:android-ndkr7b版本中已经集成了cygwin的功能,所以不再需要安装配置cygwin,ndk-build.cmd会帮助我们完成一切。
1)cdt 环境配置为了方便在eclipse下直接开发c/c++程序,我们需要配置cdt(若你的c/c++程序不需要在eclipse下编写可以省去这一个步)。
下载地址:/cdt/2)ndk 环境配置为了方便在android开发中直接调用c/c++编写的程序,我们要配置ndk环境。
下载地址:/sdk/ndk/index.html当前下载的版本为android-ndk-r7b(以最新版本为准)将其解压的自己指定的目录(此目录可随意指定)到此为止ndk就安装好了,和以往的配置方式相比显得太简单了。
为了方便在windows命令行下执行ndk-build.cmd,我们需要将此路径加入系统环境变量的path下。
注意:对于eclipse下ndk开发来说此处的环境变量配置不是必须的,可以跳过这一步。
3)通过例子来演示eclipse下ndk的应用。
首先将ndk下的例子工程hello-jni导入到eclipse中。
新建android工程HelloJni,选中from existing source并点击Browse..选中。
根据android版本选择Minimum SDK,当前是Android2.2 。
修改AndroidManifest.xml中android:minSdkVersion为当前。
右键点击工程目录依次Properties->Builders->New 选中Program 并确定。
Name自己指定,Location通过Browse File System 指定,Working Directory通过Browse Workspace指定。
Refresh项若不是针对整个工作空间选择第三个即可。
【推荐下载】Android Studio NDK开发之环境配置和简单实例
件在SourceCodeHook2\app\build\intermediates\classes\debug目录下。
四、创建jni的C代码部分
在main目录下创建jni目录,并把刚才的头文件放入
2.配置C文件的路径
android{compileSdkVersion26buildToolsVersion“26.0.1”defaultConfig{
applicationId“sourcecodehook.example.sourcecodehook”minSdkVersion14
targetSdkVersion26versionCode1versionName“1.0”testInstrumentationRunner
‘src/main/jniLibs/’]}}buildTypes{release{minifyEnabledfalseproguardFiles
getDefaultProguardFile(‘proguard-android.txt’),‘proguard-rules.pro’}}}
除此之外为了不同版本的ndk和gradle之间的兼容还要配置gradle.properties文
ourcecodehook\
生成HookSourceJNI.class文件
hsf是so文件的文件名。
二、配置NDK路径
如果还没下载NDK的话,就先下载NDK
三、NDK下载完之后,就开始生成.h头文件
在Terminal命令中输入
cdapp\build\intermediates\classes\debug切换到debug目录然后执行命令javah
Windows下NDK环境的具体配置及Cygwin的安装
Windows下NDK环境的具体配置及Cygwin的安装
1、Cygwin的下载安装
1.到Cygwin的官方网站下载Cygwin的安装程序,地址是: X86、x64
2.运行下载的exe文件,选择包时,顶部选择“default”不变
3.搜索make,勾选make,cmake,emacs-cmake,libjepg
4. Shells这个二级目录选择“install”
5.下一步,开始安装
安装好后运行Cygwin,检查gcc,make工具是否安装
命令:gcc -v
命令:make -v
如果都可以正常云行那说明安装成功了
2、NDK的下载
NDK下载地址
3、环境配置
ndk-build解压并配置
解压ndk压缩包
Cygwin中用NDK来编译程序出现"No such file or directory"问题,有两个可能的原因:
1、cygwin\bin下面没有make.exe
解决办法:重新点击setup文件,然后【Select Packages】页面中点击【View】,然后再Search中输入make,找到make的安装包,再点击下一步安装就OK了
或者
2、cygwin中输入的命令不正确
NDK/ndk-build,不能缺少$,$NDK 就是你的NDK目录。
NDK配置以及实例详解
一、NDK 环境的搭建和简单的使用首先,要进行 Android 程序的开发, Android 的 SDK 是必须要安装的。
当然,Java 环境也必不可少。
安装NDK1.下载NDK安装包:/sdk/ndk/index.html建议下载最新的2.下载完成后,解压到~/目录下此时你会得到一个 android-ndk-r6的目录在linux下其实到这里就可以了使用NDK接下来看看NDK自带的document3.首先进入 /home/wzhnsc/android-ndk-r4b 目录,此目录下有个 README.TXT 文件,里面提到了:在 docs/STABLE-APIS.TXT 里面是 APIs 的文档,在 docs/INSTALL.TXT 里面是如何安装NDK(以前的版本都需要运行 build/host-setup.sh 来进行初始化,这个android-ndk-rb4及以上版本把它去除了,使用更方便了,只是像如下配置一下环境变量即可 )在 docs/HOWTO.TXT 里面是如何使用NDK。
注:建议这些文档都看一遍,有个大概了解。
4.配置NDK的环境变量$gedit ~/.bashrc注:在打开的文件末尾添加,如下内容NDK=$HOME/android-ndk-r6/ (这里就是你自己解压后的文件目录的位置) export NDK执行下面的命令,保存环境便利,然后查看是否生效:oss@newoss:~/android-ndk-r6$ source ~/.bashrc/home/oss/android-ndk-r6/oss@newoss:~/android-ndk-r6$经过了上述步骤,在命令行下敲:ndk-bulid弹出如下的错误,而不是说ndk-build not found,就说明ndk环境已经安装成功了。
Android NDK: Could not find application project directory !Android NDK: Please define the NDK_PROJECT_PATH variable to point to it./home/braincol/workspace/android/android-ndk-r5/build/core/build-local.mk:85: *** Android NDK: Aborting . Stop.5.编译有两种方法:1)在目标工程目录下编译:$cd /home/oss/android-ndk-r6/samples/hello-jni进入例子目录$NDK/ndk-build2)在任意目录下编译:$NDK/ndk-build -C /home/oss/android-ndk-r6/samples/hello-jni用 -C 指出工程目录路径注:无论哪种编译,成功后就会在当前目录下多生成 libs 与 obj 两个子目录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
点击cygwin安装包,进行安装,进入如下界面:
选择第三个,安装本地安装包,点击下一步,进入如下
制定安装路径然后下一步
会搜索到本地安装包的目录,如果没有,自己指定,下一步安装后,会有一个警告提示,不管,直接确定,出现如下
点击那个DEVEL后面的default点击编程install
然后一直下一步,开始安装
到这里安装完毕,是否选择在桌面创建一个快捷图标,或者在开始里面添加快捷启动项到此,linux模拟器安装完成
NDK安装
先启动一次cygwin!!他会自动创建一些文件,然后在命令行输入
Gcc -v 如果出现如下图
表示安装成功!!
然后到cygwin的安装目录。
进入home文件夹,找见自己机器的名称的文件夹后,将NDK 的开发包,放进这个目录内(NDK的目录可以任意指定),复制完成后,打开目录里面的.bash_profile这个文件
在最后一行,添加上
环境变量名称=/cygdrive/你的NDK开发包所在路径
例如:NDK_ROOT=/cygdrive/f/android/NDK/android-ndk-r4
然后再加上一句export 你的环境变量名称
配置完成后,重启cygwin
在命令提示框,输入
Cd $你的环境变量名称,例如cd $NDK_ROOT 注意大小写
然后,会出现如下提示
这样表示进入了你的NDK开发包根目录,现在可以试着编译一个NDK的例子,在NDK开发包下的samples文件夹下的第一个例子,helloJNI
通过命令行CD命令,进入到helloJNI工程下面的JNI文件夹中
进入这个目录
然后直接打一个
$你的环境变量名/ndk-build
例如$NDK/ndk-build
然后会出现如下运行结果
然后查看工程目录下面的libs文件会多出一个armeabi文件夹,里面会有libhello-jni.so的库文件
然后就可以将这个工程导入到eclipse中,就可以进行测试了。