最近由于项目需要,要用到NDK去编译实现一些功能。刚开始,尝试在windows7下进行NDK开发环境的开发,可是繁琐的不得了,每次编译还要配置参数,或修改mk文件,而且在64位的系统下还会有bug。实在是忍受不了,就有了在linux下进行编译的想法,因此做了这样一次记录:
在ubuntu下配置NDK非常简单:
从google上下载最新版的NDK包,http://developer.android.com/sdk/ndk/index.html,
我下的是android-ndk-r8.tar.bz2, 解压前,先把包从用户的Download/下移动到/home,以避免由于文件的访问权限问题导致配置出问题,linux的文件访问权限很有特色,这次我倒真的见识到了,下面会有讲到。
使用root权限解压后到当前位置,就可以进行配置了
假如正确显示你配置的ndk文件夹的根路径,就可以下一步,
进行编译测试
进入NDK 的例子目录samples/,然后挑一个有mk配置的项目,在该项目目录下执$NDK/ndk-build,假如编译成功,会在该目录下多生成2个子目录libs,obj目录,否则请看错误提示。
再一次编译就ok了。
到此,ndk的配置结束,是否简单?
可是ndk开发环境的配置工作还没结束,还有android开发依赖的Java环境了。
Java环境配置
这个在windows下只是安装exe的过程,在ubuntu下已不见得过于复杂,一般了解Java环境配置的,都理解下面的步骤意义:
1. 从oracle官网下载新版jdk的文件,将下载的文件放到/usr/lib/jvm/java中,并解压,ok,jdk已安装完毕!
2. 环境变量配置
在终端执行命令: sudo vi /etc/environment,红色部分为添加的信息:
JAVAHOME=/usr/lib/jvm/java/jdk1.7.0_04
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/java/jdk1.7.0_04 /bin:/usr/lib/jvm/java/jdk1.7.0_04/jre/bin"
CLASSPATH=/usr/lib/jvm/java/jdk1.7.0_04 /lib:/usr/lib/jvm/java/jdk1.7.0_04/jre/lib
接着设置默认的jdk,因为系统默认可能存在别的jdk
在终端执行命令:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java/jdk1.7.0_04/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java/jdk1.7.0_04/bin/javac 300
选择系统默认的jdk,在终端执行命令: sudo update-alternatives --config java
如果只存在一个java环境则会出现提示系统只有一个jdk
最后执行命令: java -version
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0-b04)
Java HotSpot(TM) Client VM (build 15.2-b04, mixed mode, sharing)