OS X 10.10.5編譯Android5.1.1源碼

來源:互聯網
上載者:User

標籤:

--------------------------------------------------寫在前面--------------------------------------------------

由於在編譯過程中遇到了很多奇奇怪怪的、難解的問題~~~

到後面,實際上還是在macmini中安裝了Ubuntu系統,最後在Ubuntu系統下完成的Android源碼編譯。

以下就是在OS X系統中進行編譯時間遇到的一些問題和解決辦法,聊作記錄。

--------------------------------------------------寫在前面--------------------------------------------------

參考:Build Android 5.1.1 on OSX 10.10 Yosemite With Xcode7

一、環境配置

電腦:Mac Mini (OS X 10.10.5)

記憶體:2 GB 1333 MHz DDR3

XCode:XCode 7.1 beta

二、錯誤

(1)

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

(2)

build/core/combo/mac_version.mk:38: *****************************************************build/core/combo/mac_version.mk:39: * Can not find SDK 10.10 at /Developer/SDKs/MacOSX10.10.sdkbuild/core/combo/mac_version.mk:40: *****************************************************

解決辦法:在build/core/combo/mac_version.mk檔案中將mac_supported_versions 增加10.11

mac_sdk_versions_supported :=  10.6 10.7 10.8 10.9 10.10 10.11

(3)

build/core/main.mk:116: ************************************************************build/core/main.mk:117: You are building on a case-insensitive filesystem.build/core/main.mk:118: Please move your source tree to a case-sensitive filesystem.build/core/main.mk:119: ************************************************************build/core/main.mk:120: *** Case-insensitive filesystems not supported.  Stop.

Android原始碼必須在大小寫敏感的檔案系統下編譯,而Mac OS預設不是大小寫敏感的,因此需要建立一個大小寫敏感的磁碟分割。

解決辦法:

使用磁碟工具分出一個格式為(MAC OS 日誌式、區分大小寫)的分區。

出現“分區無法驗證”的錯誤提示“無法分區”時,重啟電腦,在電腦一啟動時按下COMMAND+S不動,進入單一使用者模式,輸入fsck -f命令,修複磁碟後,輸入reboot重啟電腦,再次用磁碟工具進行分區即可。

 (4)

host C++: validatekeymaps <= frameworks/base/tools/validatekeymaps/Main.cpp<built-in>:0: error: Unknown value ‘10.11’ of -mmacosx-version-minIn file included from system/core/include/cutils/log.h:1,                 from system/core/include/utils/KeyedVector.h:24,                 from frameworks/native/include/input/Input.h:26,                 from frameworks/native/include/input/KeyCharacterMap.h:26,                 from frameworks/base/tools/validatekeymaps/Main.cpp:17:system/core/include/log/log.h:35:20: error: stdarg.h: No such file or directorymake: *** [out/host/darwin-x86/obj32/EXECUTABLES/validatekeymaps_intermediates/Main.o] Error 1

 解決辦法:

在build/core/combo/HOST_darwin-x86.mk裡面,增加10.10 10.11的判斷:

ifneq ($(filter 10.8 10.9 10.10 10.11, $(mac_sdk_version)),)# Mac SDK 10.8+ no longer has stdarg.h, etchost_toolchain_header := $($(combo_2nd_arch_prefix)HOST_TOOLCHAIN_ROOT)/lib/gcc/i686-apple-darwin$(gcc_darwin_version)/4.2.1/include$(combo_2nd_arch_prefix)HOST_GLOBAL_CFLAGS += -isystem $(host_toolchain_header)endif

(5)

<built-in>:0: error: Unknown value ‘10.11’ of -mmacosx-version-minmake: *** [out/host/darwin-x86/obj32/EXECUTABLES/validatekeymaps_intermediates/Main.o] Error 1

解決辦法:

下載低版本的XCode(XCode 6.1.1),擷取OS X 10.9的SDK.

 

OS X 10.10.5編譯Android5.1.1源碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.