您的位置:首页 > 移动开发 > Android开发

下载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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息