MacBook下载和编译Android AOSP源码 |
您所在的位置:网站首页 › aosp源码编译 › MacBook下载和编译Android AOSP源码 |
一、安装
0.国内镜像
首先,推荐两个地方,也就是国内镜像来下载源码,强烈建议你看完,因为都一样的
科大源、清华源
注意事项:如果你不编译源代码,装源代码的磁盘格式,是任何格式都可以,但是你如果要在MacBook上编译源代码,那必须把磁盘格式变成Mac的日志格式,区分大小写的,也就是这个格式:
Git的话,就自行搜素怎么安装了,这里介绍怎样安装repo。 mkdir ~/bin PATH=~/bin:$PATH curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo运行 repo help可能会报错,或者有提示没有获得完整版
问题1.提示没有获得完整版
再执行:repo init
得到这个界面
然后查看repo的版本,执行:repo version
然后就是开始下载源代码了 然后创建一个存放源代码的目录 mkdir AndroidSource cd AndroidSource然后呢老规矩,还是要每次用repo之前都要执行(这个暂时还没办法解决) echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc export PATH=$PATH:$HOME/bin然后执行 repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest用来初始化代码目录。
得到这个界面
这样就可以得到所有的版本,我这里选择了,android-10.0.0_r33这个版本,回到AOSP目录下,执行代码 repo init -b android-10.0.0_r33这样就切换到这个分支了,下载的也是Android10.0的代码,你也可以不切换,默认下载主分支,最新的代码,但我不建议这样做,因为后续可能会发生一些不可知的错误。 当然,在上一步初始化代码的时候,你已经知道你要下载哪个分支了,就可以直接以下代码: repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-10.0.0_r33
然后就开始同步代码,看到网速了吧,已经在开始同步了,看网速,我这里下载了五六个小时,网速还是不给力的。 MacBook Pro 查看JDK的安装位置
/usr/libexec/java_home
在~/.bash_profile文件中配置JDK环境, vim ~/.bash_profile 打开,加入你的JDK地址,配置JDK export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home export JAVA_HOME=$JAVA_HOME
下载一个在终端下载一个gcc,就是命令:brew install gcc 或者下载软件Xcode就可以了。如果你没有brew命令,那就靠你自己解决搜索安装brew咯,这也是一个坑。 4.可提前解决的报错 报错1
这个问题一直困扰着我,但是不知道怎么稀里糊涂地解决了,你可以尝试着执行以下代码: 就是增加java的堆内存,使得不会内存溢出 export JACK_SERVER_VM_ARGUMENTS=”-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m” 报错3
报错4:
Permission denied 权限问题,把整个源码都获得权限就可以了chmod -R 777 AOSP 报错5也不管啥报错了,要先安装port,然后再安装以下的内容: sudo port install gmake git gnupg sudo port install bison 5.编译一切操作都在你的根目录下面执行 切换到Android源码的目录下,执行这个文件envsetup.sh source /Volumes/lanjiabin/AndroidSource/build/envsetup.sh 或者切换到build目录下,直接source envsetup.sh 执行lunch
会让选择启动器,我选了24 ,输入24,回车,就是这个效果
也可以直接:lunch 24
然后开始编译代码make -j4
其中-j后面的表示开始4个线程进行进行编译.
根据你的CPU数量来算,我就两个,乘以2就可以了,所以我的是4
经过漫长的等待,和多次错误,我终于编译成功了,我这破电脑用了11个小时,太恐怖了,我看别人就一个小时就完事,我这差点崩溃
然后再执行 .envsetup.sh lunch 24 emulator再等一会,就可以看到自己的虚拟机在启动了
好的,先告一段落。 编程中我们会遇到多少挫折?表放弃,沙漠尽头必是绿洲。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |