Android源码编译时jdk冲突解决办法
来源:互联网 发布:风暴大陆升阶数据 编辑:程序博客网 时间:2024/06/03 13:34
做Android rom开发过程中,可能会经常做不同的版本4.2,4.4,5.1或者6.0。每个版本的编译环境对jdk的版本要求都有点差异。
4.2版本需要使用jdk1.5或者1.6,使用1.7的jdk编译时会报类型错误等问题
5.1以上的版本需使用openJDK 1.7及以上,否则会直接报“目标版本与源版本冲突”之类的问题。
平时,我们的一个Linux编译服务器中会存放多个不同android版本的项目,这个时候就要对单个项目进行jdk的配置才能避免jdk冲突。
首先,我们最好是在linux编译服务器中下载两套jdk,一个1.6的和一个openJDK 1.7。注意这里jdk 1.6可以用apt命令下载安装,而openJDK是不能用apt来安装的,而是直接下载后解压到一个目录中存放即可。
接下来,我们看看我们要编译的工程所依赖的jdk版本
build\core\combo\javac.mk
Android 4.2的javac.mk代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
红色标注的target 1.6就是指的此工程编译依赖的JDK版本。
以上两点确认了之后,就是要针对当前工程进行配置了。
这里提供一个脚本mbldenv.sh,存放到根目录下
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
红色标注的就是对应的jdk目录,修改成需要的就可以使用了。
使用方法,source build/env…之后,source mbldenv.sh,这个时候就当前工程的就会使用jdk1.6.0_45来进行编译了。
最后再附上一个5.1的mbldenv.sh
阅读全文
1 0
- Android源码编译时jdk冲突解决办法
- Android源码编译时jdk冲突解决办法
- 编译项目时OwinStartup冲突的解决办法
- 编译发布时OwinStartup冲突的解决办法
- android源码编译找不到sun-java-jdk
- Ubuntu编译Android源码之安装JDK
- 解决切换jdk编译android源码错误
- Android源码编译--jdk版本查询
- Android 源码编译JDK的切换
- Android源码编译gcc版本过高解决办法
- jdk环境配置 eclipse环境配置 android源码编译注意事项
- 编译不同版本Android源码,切换gcc和jdk
- jdk/java版本与Android源码编译中的错误
- android view 滑动冲突解决办法
- Android 4.1源码编译找不到资源文件解决办法
- Android 4.1源码编译找不到资源文件解决办法
- Ubuntu(64位)编译Android源码常见错误解决办法
- android源码编译常见错误及解决办法1
- hadoop集群普通用户安装时,jps命令运行报错
- 乘坐公交(贪心算法)
- OpenJudge百炼-2737-大整数除法-C语言-高精度计算
- 针对相同元素值的快速排序
- mysql 数据引擎
- Android源码编译时jdk冲突解决办法
- spring-cloud-consumer消费者(四)
- 纯css 制作音谱跳动效果
- Python:whl文件是神?如何安装whl文件?
- Shiro的使用详解(干货)
- 读取Excel数据截断问题
- 如何成为全栈工程师,这些技能是你必须具备的!
- 【CodeForces】598D
- 饭卡