初始篇:Android 原始碼環境搭建(OSX)
阿新 • • 發佈:2019-01-14
ASOP 環境搭建 (OSX)
訪問 Android官方網站 可以獲得搭建和獲取原始碼的過程介紹,但是需要翻牆,所以只使用repo 國內映象的方法(osx系統)
1. 在mac上建大小寫敏感的分割槽
- 命令:hdiutil create -type SPARSE -fs ‘Case-sensitive Journaled HFS+’ -size 140g ~/android.dmg
生成android.dmg.sparseimage磁碟驅動 - 如果想改分割槽的大小,在unmount後修改,命令:
hdiutil resize -size <??>g ~/android.dmg.sparseimage
2. 將分割槽掛載
- 開啟 .bash_profile ,命令:open -e ~/.bash_profile
- 添加掛載和解除安裝分割槽的函式
# mount the android file image
function mountAndroid { hdiutil attach ~/android.dmg.sparseimage -mountpoint /Volumes/android; }
# unmount the android file image
function umountAndroid() { hdiutil detach /Volumes/android; }
執行命令:source .bash_profile 更新環境變數
3. 安裝Xcode Command line
4. 安裝MacPorts
- 執行命令:export PATH=/opt/local/bin:$PATH
保證在.bash_profile中,路徑:/opt/local/bin在usr/bin之前
5. 安裝make git 等相關包
- 命令:POSIXLY_CORRECT=1 sudo port install gmake libsdl Git gnupg
6. 提升編譯速度
- 在.bash_profile中新增如下指令碼,提升編譯速度
# set the number of open files to be 1024
ulimit -S -n 1024
執行命令:source .bash_profile 更新環境變數
7. 安裝repo
8. 下載和編譯程式碼
- 第二步中已經將掛載分割槽的方法放入.bash_profile中,執行命令:mountAndroid
- cd ~/Volumes/android/
- mkdir AOSP
- cd ASOP
- 在~目錄下建立檔案downlaod.sh
執行:touch download.sh ;open -e download.sh
#!/bin/bash
PATH=~/bin:$PATH
repo init -u
# Android N code from tsinghua image
https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-7.1.1_r9
repo sync -j8
while [ $? = 1 ]; do
echo "================sync failed, re-sync again ====="
sleep 3
repo sync -j8 -f --force-sync
done
- 同步程式碼 執行 . ~/download.sh
- 同步完畢 執行 source build/envsetup.sh;choosecombo 1 aosp_arm 3;make -j8 進行編譯
問題集錦
在編譯時可能遇到的問題:
1. Xcode 版本太高導致不支援
build/core/combo/mac_version.mk:38: ********************************************
build/core/combo/mac_version.mk:39: * Can not find SDK 10.6 at /Developer/SDKs/MacOSX10.6.sdk
build/core/combo/mac_version.mk:40: *******************************************
build/core/combo/mac_version.mk:41: * Stop.. Stop.*
2. 編譯遇到OOM
作者:賤賤的楊
從此你們的路上不會孤單,還有賤賤的我