Android(安卓)5.0源码编译问题
转载: http://blog.csdn.net/shineflowers/article/details/41545057
环境设置
为了方便管理多个java版本,我们使用update-alternatives
比如这里有两个JDK版本
/opt/jdk1.6.0_30/ 和 /usr/lib/jvm/java-7-openjdk-amd64 为了方便切换,可以按如下操作
安装
sudo update-alternatives --install/usr/bin/javajava/opt/jdk1.6.0_30/bin/java 50
sudo update-alternatives --install/usr/bin/javajava/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java 100
查询
sudo update-alternatives --display java
删除
sudo update-alternatives --removejava/opt/jdk1.6.0_30/bin/java
切换
sudo update-alternatives --config java
同时需要设置一下环境变量,这里我修改的是 ~/.bashrc
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:/bin/java::")export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=${JAVA_HOME}/bin:${PATH}:$JRE_HOME/bin
因为/usr/bin/java下面的仅仅是一个软连接,update-alternatives可以修改这个软连接指向的目标文件
编译错误问题解决
如果是自己通过repo和git直接从google官网上download的源码,请忽略这个问题,但是由于google在国内被限制登录,通过这一种方法不是每个人都能download下来源码,通常的做法就是从别人那拷贝,然后自己编译,那么通常会出现下面的错误:
No rule to make target 'external/chromium_org/third_party/angle/.git/index', need by .....
进入相应的目录,发现在angle目录下根 本没有.git的目录,这个也可以理解,因为不是自己通过repo和git直接从官网download,所以没有.git目录(这个目录是git的管理目 录,跟.svn的作用一样)。
解决办法有两个:
一、 在angile下创建.git目录,然后再.git目录中touch一个名为index的文件
cd external/chromium_org/third_party/angle/mkdir .git cd .git touch index
二、不让源码编译.git/index的部分
具体修改如下:
将external/chromium_org/third_party/angle/src/commit_id.target.linux-arm.mk文件中关于index的部分注释掉:
原始部分(原始文件中下面绿色标出的部分写在了同一行)......$(gyp_shared_intermediate_dir)/angle/id/commit.h: $(gyp_shared_intermediate_dir)/angle/commit_id.py $(LOCAL_PATH)/third_party/angle/.git/index$(GYP_TARGET_DEPENDENCIES)......
改成
......$(gyp_shared_intermediate_dir)/angle/id/commit.h: $(gyp_shared_intermediate_dir)/angle/commit_id.py #$(LOCAL_PATH)/third_party/angle/.git/index$(GYP_TARGET_DEPENDENCIES)......
这样就能让源码不编译.git下面的index部分,编译就能通过,亲测成功!
更多相关文章
- 一款常用的 Squid 日志分析工具
- GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
- RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
- 自定义样式去除标题栏(TItleBar)
- Android(安卓)framework系统默认设置修改----重要的设置后台进程
- Android之内嵌PDF预览
- Android(安卓)kernel x86 编译方法
- Android(安卓)8.1 添加属性SystemProperties.set可执行权限