android -- NDK 编译环境搭建
Android NDK 是运行于Android 平台上的Native Development Kit 的缩写,通过通过NDK 调用C 或C++ 本地代码。为了能够在 eclipse 上直接编译C++、JAVA代码,解决编译中的错误,最后再上实现硬件环境上调试提供方便,提高开发效率,那么就很有必要搭建此工作环境。
一、需要先行下载的工具(以我自已的开发环境为例) eclipse版本: eclipse-cpp-helios-SR1-win32.zip NDK版本: android-ndk-r7-windows.zip SDK版本: android_sdk_r15.exe Cygwin版本: cygwin-downloader-end.rar(1.7.1-1) ADT版本: ADT-14.0.0.zip JDK版本: jdk-6u23-windows-i586.exe(jdk1.6.0_23)
二、安装工具 1、 安装JDK 2、 解压eclipse-java-c-svn-explorer-adt_11-helios-win32.zip到某个分区根目录(插件已经都安装好,但需要配置adt) 3、 安装android_sdk_r15.exe,仅选择文档和sdk 仅安装2.2,2.3即可(耗时较长),其他保留 安装SDK时,会出现Failed to fetch URL...的错误 1.到settings一栏,将force复选框选上,并填上代理服务器的地址和端口,使用https下载数据 2.更改ie的代理设置,如果是 "自动脚本配置" 就需要改成LAN方式手动指定代理. 3.重新尝试。 4.在avilible..一栏中选择所有,然后安装。 5.可以创建VAD,然后运行
4、 启动eclipse,选择工作区,配置ADT(Window->Prefrence->Android,点击Browser,选择SDK的安装路径) 5、 安装ADT 1.启动eclipse,主菜单Window->Prefrence->General->Network Connection,确认面板中Proxy部分的HTTP已勾选 2.选择Help主菜单,Install New Software...,点击Add... 3.点击Archive...,选择ADT-8.0.0.zip的路径(不要解压),开始安装,中间有一些步骤,不赘述 4.结束时要求重启eclipse,确认。 5.配置Android SDK,主菜单Window->Prefrence,选择Android面板 6.点击Browser,选择SDK的安装路径,确认。 7.配置完成可以新建Android应用测试
三、确认环境是否配置成功 1、确认SDK安装成功: windows->Prefrence->Android,右边是否列出了所安装的android(TARGET NAME)2.2/2.3.. 选择正确的 SDK Location: D:\tools\android-sdk 2、Cygwin版本:cygcheck -c cygwin $ cygcheck -c cygwin Cygwin Package Information Package Version Status cygwin 1.7.1-1 OK 3、配置NDK环境变量 1.cygwin的安装目录,找到一个home\<你的用户名>\.bash_profile文件中添加如下: NDK=/cygdrive/c/android-ndk-r7 export NDK 2.运行cygwin,输入 cd $NDK,如何设置成功,则显示刚刚配置的路径 3.测试ndk-build脚本,进入$NDK/sample/hello-jni项目下,运行$NDK/ndk-build andy@shenwb /cygdrive/c/NDK/android-ndk-r7/samples/hello-neon $ $NDK/ndk-build Compile thumb : helloneon <= helloneon.c Compile thumb : cpufeatures <= cpu-features.c StaticLibrary : libcpufeatures.a SharedLibrary : libhelloneon.so Install : libhelloneon.so => libs/armeabi/libhelloneon.so Compile thumb : helloneon <= helloneon.c Compile thumb : helloneon <= helloneon-intrinsics.c Compile thumb : cpufeatures <= cpu-features.c StaticLibrary : libcpufeatures.a SharedLibrary : libhelloneon.so Install : libhelloneon.so => libs/armeabi-v7a/libhelloneon.so
四、使用 ecclipse 编辑代码与编译 1、设定字体及颜色:windows->Prefrence点击Genral->Appearance->Colors and Fonts 2、导入工程代码 1.File->new->other...->Android->Android Project,next 2.可选择新建,也可以选择create project from existing example 3.选择后者,选择build target为Android 2.3 4.samples 下拉列表选择任意一个工程,finish 5.选中工程,右键->build project(如果没有,取消主菜单Project->build automaticly) 6.选中工程,右键->Android application(如果没有AVD设备则需要配置) 3、配置C/C++的编译器 1.右键单击项目名称,点击Properties,弹出配置界面,之后再点击Builders,弹出项目的编译工具列表,之后点击New,新添加一个编译器,点击后出现添加界面,选择Program,点击OK按钮 出现了添加界面,首先给编译配置起个名字,如:C_HelloJni_Builder 设置Location为<你cygwin安装路径>\bin\bash.exe程序,例如:C:\cygwin\bin\bash.exe, 设置Working Directory为<cygwin安装路径>\bin目录,例如:C:\cygwin\bin 设置Arguments为 --login -c "cd /cygdrive/c/NDK/android-ndk-r7/samples/hello-jni && $NDK/ndk-build"
$NDK是之前配置的ndk的环境变量,这两个根据你具体的安装目录进行配置,其他的不用变,Arguments这串参数实际是给bash.exe命令行程序传参数,进入要编译的程序目录,然后运行ndk-build编译程序
对于NDK_Builder
的参数时可以设定如下:
--login -c "cd '${project_loc}' && $NDK/ndk-build"
每个工程都需要配置一次,主要是参数需要变更。
2.对于以上的Edit Configuration中有四个选项框,自行进行配置: 【Main】 【Refresh】 【Environment】 【Build Options】 配置保存完成,如果你配置的编译器在其它编译器下边,记得一定要点Up按钮,把它排到第一位,否则C代码的编译晚于Java代码的编译,会造成你的C代码要编译两次才能看到最新的修改
4、编译及清除中间文件 清除: project->Clean...-> 这里有两个选择框 Clean all projects & Clean projects selected below选中需要清除的项目 编译:项目名称右键单击,选择 Build Project
运行:Run as/Debug As -> Android Project 即可运行,需要在盒子上运行,则首先利用adb connect target_ip 然后再运行
|