Android学习第一篇;在Mac下编译android5.1

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

至此整个过程完成。

最重要的一点;

**********************************************

*                                              一定要耐心,没有问题不能解决                                                              *

*                                              一定要耐心,没有问题不能解决                                                              *

*                                              一定要耐心,没有问题不能解决                                                              *

**********************************************







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章