下载Android源码及导入到Android Studio
2016-12-08 18:28
501 查看
下载:
参见https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/我是使用每月更新的初始化包
编译
参见https://source.android.com/source/building.html(1)使用的是mac,所以需要将电脑弄个区分大小写的磁盘空间,建议100G
一开始磁盘弄小了,想改大,运行如下命令:
hdiutil resize -size 100g ~/android.dmg.sparseimage
报错:
hdiutil:resize:failed.资源暂时不可用(35)
解决参见http://apple.stackexchange.com/questions/82214/hdiutil-convert-rsize-resource-temporarily-unavailable,好像需要先重启电脑
(2)配置环境,
JAVA_HOME
JRE_HOME
CLASSPATH我的配置如下:
export JAVA_HOME=/Library/java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home export JRE_HOME=/Library/java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH export PATH=/usr/local/curl/bin:$PATH
(3)进入aosp根目录,运行
make clobber,将之前编译的东西删除
(4)运行
bash build/envsetup.sh,只能用bash来运行,这里最好再source下,不然下面的lunch命令不认
(5)运行
lunch会出来一个列表,自己选
(6)运行
sudo make -j4,这里的-j4表示4核运行,如果不用sudo,会遇到下面问题:
make:*** [out/build-aosp_arm.ninja] Error 1
(7)运行过程中遇到问题1
Unsupported curl,please use a curl not based on SecureTransport
解决参见http://stackoverflow.com/questions/33318756/while-i-make-the-source-of-android-6-0-it-failed
我这里直接下载压缩包,没有使用brew来装,因为brew一直超时.
安装方法参见http://www.mmfei.com/?p=87,这里说的版本号是到
/usr/local/Cellar/openssl那里看的
(8)运行过程中遇到问题2
fatal error:'linux/netfilter/xt_DSCP.h' file not found
解决参见http://whj198579.github.io/2015/04/Install-and-build-AOSP-on-OSX/
(9)make成功后,不知道为啥,在
/out/host/darwin-x86/framework/下没有生成idegen.jar,完全编译了两次都没有,放弃了,从https://github.com/yuanfentiank789/yuanfentiank789.github.io/blob/master/asset/idegen.jar下载了idegen.jar,然后继续下面的命令
sudo make idegen && development/tools/idegen/idegen.sh
终于生成了android.ipr和android.iml
(10)如果将所有源码都导入android studio,电脑恐怕吃不消,所以只导framework部分,参见http://www.jianshu.com/p/fb16fa459acf
(11)在android studio中,方法跳转会跳转到相应的class文件,参见:http://blog.csdn.net/yanbober/article/details/48846331
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件