Android 源碼編譯環境搭建

編譯環境的搭建主要分爲兩個大步驟,在此做以記錄

1.基礎環境的準備

磁盤:需要6GB 以上(爲以後可能會有新版本留了空間)

Linux系統:Ubuntu6.06以上

2.工具的準備

Java環境:JDK1.5以上(最好不要使用1.7,編譯時會有很多潛在問題)

命令:sudo apt-get install sun-java6-jdk

如提示找不到軟件,可以如下方式添加源再試

$ sudo add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse"

$ sudo apt-get update

$ sudo apt-get install sun-java6-jdk


GIT:GIT1.5.4以上。如果有現成源碼,並且不想通過GIT對源碼做以更新,則可以忽略此步

開發包:flex,bison,gperf,libsdldev,libesddev,libwxgtk2.6-dev,build-essential,zip,cuil,valgrind

命令:sudo apt-get install gnupg valgrind flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev


常見問題:

1.注意如果是安裝的11.04以後的版本,GCC的版本Ubuntu默認會比較高,編譯會出現

rameworks/base/libs/utils/RefBase.cpp: 在成員函數‘void android::RefBase::weakref_type::trackMe(bool, bool)’中:
frameworks/base/libs/utils/RefBase.cpp:483:67: 錯誤: 將‘const android::RefBase::weakref_impl’作爲‘void android::RefBase::weakref_impl::trackMe(bool, bool)’的‘this’實參時丟棄了類型限定 [-fpermissive]
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/RefBase.o] 錯誤 1

解決方法:更換gcc、g++版本爲4.4

                         sudo apt-get install gcc-4.4

                         sudo apt-get install g++-4.4

                         sudo rm -rf /usr/bin/gcc /usr/bin/g++

                         sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc

                         sudo ln -s /usr/bin/g++-4.4 /usr/bin/g++



發佈了27 篇原創文章 · 獲贊 72 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章