Android 源码编译遇到的几个错误
来源:互联网 发布:淘宝买家信誉查询工具 编辑:程序博客网 时间:2024/04/30 12:58
- Error Cant locate Switchpm in INC
- Error javac target release 15 conflicts with default source release 17
- Error binbashline 1VBoxManagecommand not found
- 查看Android源码
前几天编译Android源码的时候遇到了几个错误,记录一下解决办法:
1.Error : Can’t locate Switch.pm in @INC
这个错误的解决方法是:
sudo apt-get install libswitch-perl
2.Error : javac: target release 1.5 conflicts with default source release 1.7
关于这个错误,在官网的文档中有说道:
To develop older versions of Android, download and install the corresponding version of the Java JDK
对于在编译早期版本的Android源码时,就不要按照上边说的安装OpenJDK 7了,而是应该去Oracle下载JDK5或者JDK6.
我是从网上Down的别人共享的4.1.1版本的Android源码,所以我下载了 jdk-6u45-linux-x64.bin 这个JDK进行的配置修改:
chmod +x jdk-6u45-linux-x64.bin./jdk-6u45-linux-x64.binsudo mv jdk1.6.0_45 /usr/lib/jvm/sudo rm ./jdk-6u45-linux-x64.bin
然后配置一下环境变量:
sudo gedit /etc/environmentPATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/jdk1.6.0_45/bin"CLASSPATH="/usr/lib/jvm/jdk1.6.0_45/lib"JAVA_HOME="/usr/lib/jvm/jdk1.6.0_45"
修改默认配置:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_45/bin/java 300sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_45/bin/javac 300sudo update-alternatives --config java
列出来的选项中发现星号(*)标注的选择项是我之前安装的openjdk7,新安装的这个jdk1.6.0_45对应的索引是2,所以直接输入2;
这时候如果直接查看javac -version
会发现还是之前的openjdk7,所以需要把这个openjdk7删掉并重启一下!
sudo remove openjdk-7-jdksudo reboot
3.Error : /bin/bash:line 1:VBoxManage:command not found
出现这个错误是因为我在make 的时候选择生产vdi的格式(make -j4 android_disk_vdi
);即在生产img系统文件之后进行一个转换,转换为vdi;但是因为新机器没有安装VBOX软件所以它找不到这个VBoxManage,解决方法自然就是安装一下:
sudo apt-get install virtualbox
除了编译时间有点长之外其他基本就没有遇到什么错误了,编译完成之后一般都会有类似的提示:
Done with VirtualBox bootable system-disk image -[ out/target/product/vbox86p/android_system_disk.vdi ]
编译成功之后的vdi文件也是在上边提到的目录下,拷贝出来使用VBOX加载运行就可以了!
4.查看Android源码
源码编译完成之后肯定是要研究源码的了,但是Ubuntu下怎么查看源码呢?之前做Android的APP开发最熟悉的就是Android Studio了,所以也是准备使用AS来查看:
sudo add-apt-repository ppa:paolorotolo/android-studiosudo apt-get updatesudo apt-get install android-studio
安装完 AS 之后,要想用 AS 打开Android的源码查看还需要一步:
在Android的源码根目录下打开终端:
. development/tools/idegen/idegen.sh
如果提示找不到idegen.jar的话就需要执行:
mmm development/tools/idegen/
如果这句还会报错那么就把上边source build/envsetup.sh
还有 lunch
之类的再执行一遍,然后在执行上边语句,正常的就能在out/host/linux-x86/framework/下找到idegen.jar了。
这时候在根目录下会生成几个文件,使用 AS 打开刚才生产的android.ipr
来加载项目查看源码。
1.AS 打开
android.ipr
的时间回比较长,毕竟需要加载很多项目文件的索引,多注意一下右下角的加载进度条,加载完成之后Project窗口中选择Project查看,在Android下是看不到什么东西的!
2.或者按照development/tools/idegen/README 里说的,修改一下/opt/android-studio/bin/studio64.vmoptions
这个文件的 -Xms -Xmx 等参数。
- Android 源码编译遇到的几个错误
- 编译Android源码过程中遇到的错误
- 编译android源码遇到错误处理
- hadoop2.4.1源码在64位系统编译过程中遇到的几个错误及解决方法
- gradle编译spring源码遇到的错误
- android源码下载,编译及编译时遇到的错误整理
- 编译Android源码和Linux内核源码时候遇到的一些错误
- 关于vivi编译时遇到的几个错误
- Oprofile 编译使用过程中遇到的几个错误
- android xbmc几个编译错误的处理
- 编译android源码及遇到的问题
- 编译android源码遇到的问题
- 编译android源码遇到的问题
- 编译Android源码遇到的一个问题
- android,编译过程遇到的错误
- android编译faplayer遇到的错误
- Android JNI demo编译遇到的错误
- Android5.0.1源码编译,android5.1.1源码编译遇到的编译错误如何解决?
- postgre- 常用基本sql 语句
- 霍夫变换基础知识-- The Hough Transform: Basics
- Android自定义九宫格图案解锁
- 数据结构与算法——提供一个单词,在字典中找到它的兄弟
- OC中数组的基本操作
- Android 源码编译遇到的几个错误
- 霍夫变换的标准形式--The Hough Transform: Normal form
- 什么是PHP
- Java 异常处理
- 注解
- {Unity} Shader初步
- Canny边缘检测器-- The Canny Edge Detector
- writing idiomatic python 读书笔记(5)
- 机器学习算法入门之(二) 决策树算法