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

至此整個過程完成。

最重要的一點;

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

*                                              一定要耐心,沒有問題不能解決                                                              *

*                                              一定要耐心,沒有問題不能解決                                                              *

*                                              一定要耐心,沒有問題不能解決                                                              *

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







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