====
http://www.eoeandroid.com/forum.php?mod=viewthread&tid=61367&extra=page%3D1%26filter%3Ddigest%26digest%3D1
本帖最後由 yyl719133368 於 2012-2-27 19:28 編輯 @官方的文檔地址:http://source.android.com/source/download.html(但可能會遇到點問題請看下面的講解) @系統要求:1 ubuntu 10.04或以上版本 2 64位系統(查看系統命令: uname -m 如果出現i386 i686 i586則是32位 如果出現amd64 則是64位系統 ) 3 jdk1.6 或更高版本 @說明:下面如果有修改文件不好保存或無法打開可能是權限問題要進入那個目錄修改權限 chmod 777 filename 1安裝下載源碼所需要的工具 1.1 sudo apt-get install git-core curl 這條命令會從互聯網的軟件倉庫中安裝 git-core 和 curl 1.2 mkdir ~/bin PATH=~/bin:$PATH 在home目錄下建立bin目錄並設置環境變量 1.3 curl http://android.git.kernel.org/repo >~/bin/repo 這句命令會下載 repo 腳本文件到當前主目錄的/bin 目錄下,並保存在文件repo 中。 1.4 chmod a+x ~/bin/repo 修改 repo 文件可執行權限 1.5 執行下面的命令創建並進入空文件夾 mkdir yourdirectory cd yourdirectory 2repo客戶端初始化 2.1 下面是官網給的命令,但在公司行不通會報Connection timed out的錯誤,但在家直接用估計可以 repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake 2.2 在公司同步要先將bin裏的.repo文件的 REPO_URL='git://android.git.kernel.org/tools/repo.git' 改成 REPO_URL='http://android.git.kernel.org/tools/repo.git' 然後命令改成下面這個(注意後面的版本號寫法和官網不太一樣,如果寫-b Gingerbread的話會找不到版本) repo init -u http://android.git.kernel.org/platform/manifest.git -b android-2.3.3_r1 (參考 http://blog.csdn.net/shaohui99/archive/2010/06/29/5702483.aspx) 2.3 執行上面的命令可能還會報個IOError找不到文件(暫時還不知道爲什麼) 但執行下面兩條命令 touch ~/.gitconfig rm -rf .repo 後再執行2.2的命令就可以同步了 成功的話會叫你填寫自己的名字和郵箱 3下載源碼 3.1 執行下面的命令會開始下載代碼 repo sync 如果也有 Connection timed out錯誤就找到你在1.5時創建的目錄下找到.repo文件夾打開後找到下載清單manifest.xml(manifest.xml爲隱藏文件,得顯示隱藏文件後才能看見) 打開manifest.xml 修改 fetch="git://android.git.kernel.org/" 爲 fetch="http://android.git.kernel.org/"(http的穿透) 然後再執行repo sync,成功後會下載代碼要幾個小時(我下載了一天) 4編譯 4.1 先進入1.5創建的空目錄 再執行 make 命令 編譯後的文件在out文件夾中 5生成SDK make PRODUCT-sdk-sdk 編譯完成後會在/work/froyo/out/host/linux-x86/sdk/目錄生成sdk 32位系統也能編譯了(此方法來自於robotv用戶@#¥%……%&掌聲) 其實32位的也可以編譯,這個是別人寫的,我試了,成功,給大家參考一下 在使用: $ repo init -u git://Android.git.kernel.org/platform/manifest.git $ repo sync 下載完代碼後,進行make, $cd ~/mydroid $make 卻出現瞭如下錯誤: build/core/main.mk:73: You are attempting to build on a 32-bit system. build/core/main.mk:74: Only 64-bit build environments are supported beyond froyo/2.2. 這是因爲froyo/2.2默認只支持64-bit,看到有些網友還要去下載64-比他的操作系統,很是麻煩,於是通過不斷搜索資料終於解決, 解決辦法: 需要進行如下修改即可, 將 ./external/clearsilver/cgi/Android.mk ./external/clearsilver/java-jni/Android.mk ./external/clearsilver/util/Android.mk ./external/clearsilver/cs/Android.mk 四個文件中的 LOCAL_CFLAGS += -m64 LOCAL_LDFLAGS += -m64 註釋掉,或者將“64”換成“32” LOCAL_CFLAGS += -m32 LOCAL_LDFLAGS += -m32 然後,將 ./build/core/main.mk 中的 ifneq (64,$(findstring 64,$(build_arch))) 改爲: ifneq (i686,$(findstring i686,$(build_arch))) OK!問題解決 |