前言
这就是一个记录,方便查阅,不作为正式教程。
更适合读者:配置过Android+SDK+ADT的开发者。
本以为这是一项简单的工作,但是由于种种原因还是耗费了不少时光。
本以为只是记录,却越来越像是个教程,毕竟安卓开发相关的环境配置更迭实在比较迅速~
系统配置
Windows 7 Ultimate x64, i3-2120@3.3GHz, 8GB, Eclipse3.6.2(后有变更)
开发环境搭建
OpenCV官方要求[1]的条件之一必须配置好NDK才可进行开发。关于NDK的配置,网友已经给出了详细的方案[2],请一定按顺序来。
初次搭建NDK心路历程
由于之前有SDK开发的环境,所以准备在此基础上进行+NDK环境搭建。
下载NDK[3]:版本r10e,大小396,563,176字节,自解压时间大概7分钟。
安装CDT,根据[6]在输入CDT的连接后提示了错误DuplicateLocation,而资料[5]显示若要解决该错误则需要将重复安装的先卸载,后来在Eclipse的Feature里看到了CDT,说明其已经自带了,不需要再行安装。
安装ADT,输入了SDK路径后提示ADT版本过老,与SDK(大概23版本,具体记不大清了)不匹配。。。那就更新ADT吧。
此处插入一句,有网友提到下载一个捆绑包可以解决Eclipse+ADT+CDT的问题,但是下载了[4]后发现并不是那样,因为这个捆绑包里包含的是Android Studio,并没有eclipse。
你以为ADT更新了就完事了?但是并不然:ADT更新出错:
Cannot complete the install because of aconflicting dependency.
Software being installed: Android Hierarchy Viewer 23.0.7.2120684(com.android.ide.eclipse.hierarchyviewer.feature.feature.group 23.0.7.2120684)
Software currently installed: Eclipse Platform 3.6.2.M20110210-1200(org.eclipse.platform.ide 3.6.2.M20110210-1200)
Only one of the following can be installed at once:
...
Cannot satisfy dependency:
...
...
崩溃,版本依赖问题,还是应了[2]中所说的,各部件之间的版本必须匹配。那么可不可以不更新ADT,通过降低SDK的版本呢?试了一下,然后C++编译貌似通过没有报错,但是SDK编译出问题了:
Error executing aapt. Please check aapt is present at 巴拉巴拉\android-sdk-windows\platform-tools\aapt.exe
com.example.hellojni.HelloJni Unknown AndroidPackaging Problem
我天真的以为就只是缺少aapt的问题,然后去sdk目录的build tool里找了对应版本的aapt等文件然后全复制到提示的目录下,但是后面就是一堆错误了(还包括了没有cygwin的提示,但是后面可以证明我们在windows上开发并不需要装这个),几乎都是红色的……
当时我还找不到什么原因,以为是Eclipse在移动过程中,以及SDK被更新过,有很大可能会产生各种问题,也就是原来的Android SDK环境会存在一些问题,于是决定重新搭建完整的环境了。(但是现在想来,根据NDK的配置顺序[2],也许是因为安装老版本ADT时CDT并没有安装,所以NDK部分并没有安装,而导致C++部分编译通过了,就是ndk-build.cmd,但是SDK部分就会报各种乱七八糟的错误;但是,当我import了一些之前在SDK上开发的工程,发现还是存在)
完整的从零开始搭建方案
Eclipse:
Luna - Eclipse IDE for Java EE Developers,Luna下其它类型的应该也可以,Luna不能变,不然下面都得变。
JRE:
这个好像对版本没有什么要求,我装的是jre-8u65-windows-i586.exe,在Oracle官网可以很容易找到,直接装到eclipse根目录下的jre目录,不然Luna启动不了,会抛出需要JRE的错误。
安装CDT:
Luna对应的是8.6,千万别搞错了,仓库workwith链接为[9],具体使用哪个版本的CDT可以在地址[10]查询。安装细节与教程[6]所不同的是,需要在Optional Feature里勾选的项目基本都集成到了C/C++ Development Tools里了,也就是说只要勾选一项安装即可。
安装ADT:
确认CDT安装成功后才可以安装ADT,这个广大网友都会,全部都勾选上就行了。
下载SDK:
这个版本必须是ADT支持的版本,否则需要降SDK版本,我下载了最新的r24.4.1,在官网就可以下载,国内的镜像站貌似都不提供。然后进SDK Manager进行完整的更新,要使用国内镜像站的可以修改配置Options...,参考[11]设置成东软的镜像站,速度很快,10MB的带宽基本能用到3MB/S,如果翻墙的话就很慢了,被强了就更不要说了,极其慢!除了Android SDK Tools,其它勾选请随意。
下载NDK:
这个跟初次搭建一样,不需要重读下载。然后NDK安装向导[12]里会教你怎么验证是否安装成功了。但是对于高版本的Luna+SDK+NDK+ADT+CDT来说,验证过程好像并没有那么复杂,Import之后直接Run As就行了,能跳出让你选AVD的说明编译都成功了。