ubuntu12.04配置Java和NDK环境
最近由于项目需要,要用到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权限解压后到当前位置,就可以进行配置了
?
打开bash文件,一定要root权限哦,要不然vi只能是打开read-only,sudo vi?~/.bashrc?在打开的文件末端,添加ndk文件夹的根路径假如正确显示你配置的ndk文件夹的根路径,就可以下一步,
?
进行编译测试
进入NDK 的例子目录samples/,然后挑一个有mk配置的项目,在该项目目录下执$NDK/ndk-build,假如编译成功,会在该目录下多生成2个子目录libs,obj目录,否则请看错误提示。
我一开始编译就遇到permission defined错误,编译失败,研究一轮,发现原来是我没有android-ndk-r8?文件夹的所有权限导致的。那就修改文件夹权限呗:sudo chmod 777 android-ndk-r8? ??//更改文件的读写取权限为全开sudo chown -R username.group /filepath ?//更改文件夹的所有者属性再一次编译就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)
?