最近编译Andriod源码时,因为涉及到对应不同的Android版本,
我需要在源码中切换2.x.x版本和3.0.x、4.0.x版本。
问题由此产生:
2.2.x版本需要使用jdk5.x.x
而2.3.x、3.0.x、4.0.x版本则需要使用jdk6.x.x来编译;
尽管google在http://source.android.com/source/initializing.html中写明了:
Java 6: for Gingerbread and newer
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
Java 5: for Froyo and older
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse"
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse"
$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk
但是觉得觉得讲的还不够清楚。
搜索了一些资料后,发现:
1. Java5和Java6可以按照上述方式安装,并且安装完成后可以并存
2. 不同Java版本之间可以通过修改JAVA_HOME来切换,而PATH变量只需要设置为:
export PATH=$JAVA_HOME/bin:$PATH
3. JAVA_HOME可以不用通过修改环境变量的方式切换,而是利用update-alternatives工具来管理。
具体做法:
1. 按照前述方法,安装JAVA5,JAVA6
2. 执行
sudo update-alternatives --config java
出现以下内容:
有 2 个选项可用于替换项 java (提供 /usr/bin/java)。
选择 路径 优先级 状态
------------------------------------------------------------
0 /usr/lib/jvm/java-6-sun/jre/bin/java 63 自动模式
* 1 /usr/lib/jvm/java-1.5.0-sun/jre/bin/java 53 手动模式
2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 手动模式
要维持当前值[*]请按回车键,或者键入选择的编号:
按照提示选择想要的版本即可。
3. 同时还要执行
sudo update-alternatives --config javac
执行相同的选择
最新发现还需要执行
sudo update-alternatives --config javadoc
原因是:某些形式的编译,比如生成目标是SDK时,会调用javadoc编译,此时如果javadoc的Version不对,则会产生找不到某些方法的异常...导致编译失败退出...
4. 执行 export PATH=$JAVA_HOME/bin:$PATH
5. 开始编译 make -j3,哈哈...
分享到:
相关推荐
android2.2源码编译-Ubuntu10.04 (X86) + android2.2 + JDK1.6android2.2源码编译-Ubuntu10.04 (X86) + android2.2 + JDK1.6android2.2源码编译-Ubuntu10.04 (X86) + android2.2 + JDK1.6
编译Android源码必备利器,官网已经不好下载,特此奉献给大家!
Android反编译工具集合,里面包含android反编译需要的工具(apktool ,dex2jar...PS:因为android是基于Java开发的,因此您的系统必须安装JRE组件或JDK开发环境才能正常运行该反编译工具。 apktool 已更新为简体中文版
编译Android源码系统要求如果是在Mac OSX 10.12上,编译Android 6.0和7.0是最方便的了,低版本因为JDK和Xcode的限制,要修改编
32位ubuntu使用的JDK。 版本号是1.6.0_37。编译Android源码必备利器
jdk-6u33-linux-i.bin 用于android源码编译 非常适合编译的一个版本
android 反编译先是apktools 再是用winrar 提取出classes.dex 再用dex2jar 搞来搞去,烦, 我这里提供了一站式服务. 其实就是整合了它们. 运行需要JDK1.6
使用Vm虚拟机安装ubuntu(64)编译android源码,文档包括安装jdk,交叉编译器等说明。
SDL Android 例子源码可用工程,实测编译通过在模拟器运行(SDL 2.0 for Android),工程目录名叫AndroidTst2,编译通过可用, sdl source code for android android source code for sdl 2.0 这个工程的文件夹...
jdk6用于支持android4.4较旧Android源码版本编译,亲测可用~
最近一直在搭建Android系统开发环境,找了好多资料,但是大都都有问题(最起码现在用起来有问题),所以把自己的过程记录下来,备忘,也希望能给别人帮个小忙,当然,顺便赚点小分~~吼吼
最新zxing3.1 google二维码开源库源码 将jdk1.7特性转化为1.6可编译 android可用,直接导入eclipse 将其设置为Library类库即可 直接可用无需要编译 也可以将src的代码复制到你的项目中
2.2.1 安装JDK和配置Java开发环境 2.2.2 Eclipse的安装与汉化 2.2.3 SDK和ADT的安装和配置 2.3 创建第一个Android项目——HeUoAndroid 2.3.1 创建HelloAndroid项目 2.3.2 运行HelloAndroid及模拟器的...
jdk1.8源码下载,JavaFX在Java SE 7 Update 6之后正式并入Java SE API之中,从此可以直接使用javac与java来编译与执行JavaFX程序。
ubuntu64位使用JDK,编译Android源码搭建Java环境必备工具。
环境:先安装配置java,然后将apktool 所在文件夹配置到环境变量中(注意:apktool.bat和apktool.jar必须在同一个文件夹中) 工具下载: 查看版本号:apktool -version 拆包命令(反编译)和打包用apktool命令 ...
Android 获取手机所有Sensor(传感器)并测试数据源码~~注意:代码使用JDK 1.7.0_40 版本编译,低于此版本的话会出错,这时可以自己新建项目copy即可。
1.首先安装需要JAVA环境,先下载JDK/JRE,已经有JAVA环境的可跳过此步 2.到code.google上下载apktool.jar以及相关文件:http://code.google.com/p/android-apktool/downloads/list 包括apktool.jar和apktool的工具...
Oracle的JDK,编译Android源码要用。
linux环境下编译android源码所配置的java的jdk6工具以及使用android studio 工具时所设置的java环境的工具。