Mac系统10.11.6
首先建立一个大小写敏感的镜像
Finder->应用程序->磁盘工具->文件->新建映像->空白映像->设置名称为AndroidSystem ,大小80GB(特别说明,大小最少75GB,本人就吃了亏),格式选osx扩展,区分大小写,日志式->确定
到目前,镜像还是不能区分大小写。
在磁盘管理工具里,选中AndroidSystem镜像->抹掉->选中osx扩展,区分大小写,日志式->确定
现在,镜像是区分大小写的。
在AndroidSystem镜像中新建文件夹WorkDirectory,该文件夹就是以后android源码目录
安装编译环境
安装jdk1.7
xcode安装请选择xcode5.1,不然你会痛苦好几天,我就是这样。
直接在apple developer上可以选择下载相应版本。
https://developer.apple.com/download/
然后
安装macport
之后
sudo port install gmake libsdl git gnupg
全部安装完成之后,编译环境建好
terminal进入WorkDirectory
依次执行下列命令
mkdir ~/bin
sudo vim ~/.bash_profile
在该文件中加入
export PATH=~/bin:$PATH
esc->:wq
保存并退出
source ~/.bash_profile
下面可以参考清华aosp
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
没有翻墙的朋友请
sudo vim ~/bin/repo
并修改
REPO_URL = 'https://gerrit-google.tuna.tsinghua.edu.cn/git-repo'
然后执行
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-5.1.0_r1
耐心等待,
ok
完毕之后
为了防止接下来的工作出错,出错让人抓狂,一等等半天又得重复。所以我们做一些准备工作
开始
系统偏好设置->节能器->电源适配器->选择永不关闭显示器,去选如果可能,使硬盘进入睡眠,选中当显示器关闭时,防止电脑进入休眠
文本编辑器->新建文稿->保存->cmd->修改文件后缀成.sh->打开编辑->输入50个repo sync ,注意每个repo sync换行->将cmd.sh复制到WorkDirectory下
terminal进入WorkDirectory
执行
sudo chmod a+x cmd.sh
然后
./cmd.sh
耐心等待——————————————————————————————————————————————
如果出现
sync work tree
fetching
代表sync完成,可直接关闭terminal
terminal进入WorkDirectory
执行
rm -r -f .repo
source build/envsetup.sh
lunch
选择需要的版本
6比较大,所以需要80GB
make
耐心等待————————————————————————————————————————————————
现在高潮来了
可能遇到的问题和解决方式
1,问题;xcode-select:error: tool 'xcodebuild' requires Xcode, but active developer directory'/Library/Developer/CommandLineTools' is a command line tools instance
解决方法;sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
2,问题;<built-in>:0:error: Unknown value ‘10.11’ of -mmacosx-version-min
解决方法;降低xcode版本到6.0
3,问题;system/core/include/log/log.h:35:20:error: stdarg.h: No such file or directory
解决方式;sudo vim build/core/combo/HOST_darwin-x86.mk,
修改对应sdk_version
3,问题;error: Cannotfetch platform/packages/apps/OMA-DM
解决方法;repo sync –f
repo sync
4,问题;xcode-select:error: tool 'xcodebuild' requires Xcode, but active developer directory'/Library/Developer/CommandLineTools' is a command line tools instance
解决方法;sudo xcode-select --switch/Applications/Xcode-beta.app/Contents/Developer/
5,问题;程序包com.sun.javadoc不存在 importcom.sun.javadoc.ClassDoc;
解决方法;
export JAVA_HOME=/library/java/JavaVirtualMachines/jdk1.7.0_71.jdk/contents/Home
export PATH=$JAVA_HOME/bin:$PATH
6,问题;libnativehelper/JNIHelp.cpp:28:10:fatal error: 'string' file not found
解决方法;sudo vim build/core/combo/HOST_darwin-x86_64.mk
手动更改-DMACOSX_DEPLOYMENT_TARGET=10.9(你自己的sdk版本)或者降低xcode版本到5.1
有些问题可能不会遇到,那是因为一开始装的的xcode5.1,和之前做的准备工作
编译完成之后
emulator
至此整个过程完成。
最重要的一点;
**********************************************
* 一定要耐心,没有问题不能解决 *
* 一定要耐心,没有问题不能解决 *
* 一定要耐心,没有问题不能解决 *
**********************************************