標籤:
原文網址:http://www.360doc.com/content/14/0113/11/11948835_344809459.shtml
其它一些事項說明: 1、在原始碼下載過程中,我們在原始碼下載目錄看不到任何檔案,開啟“顯示隱藏”,會看到一個名為.repo的檔案夾,這個檔案夾是用來儲存Android原始碼的“臨時檔案” 2、檔案最後下載接近完成時,會從.repo檔案夾中匯出Android原始碼 3、Android原始碼下載完成後,我們可以看到Android原始碼下載目錄中會有 bionic、bootable、build、cts、dalvik......這些檔案夾,這些就是Android原始碼 4、若是必須關閉電腦停止下載,那麼可以在原始碼下載的終端中按Ctrl + C 或者 Ctrl + Z 停止原始碼的下載,不會造成原始碼的丟失或損壞 5、相關問題的解決辦法 5.1 下載原始碼可能會提示的錯誤 5.1.1error: Exited sync due to fetch errors... 方法一:自動或者手動停止原始碼的下載,可以使用命令: repo sync 繼續下載 方法二:關於這個問題其實google是有說明的http://source.android.com/source/downloading.html,為了防止串連數過多,每個ip都需要認證。。。第一步:從這裡 the password generator 擷取使用者名稱和密碼,前提是你在之前填寫了你的真實姓名和郵箱第二步:將上面的頁面上以machine開頭的兩行複製到 ~/.netrc檔案中第三步:repo init -u https://android.googlesource.com/a/platform/manifest 多了個“/a”然後就可以repo sync了特別注意.netrc檔案是在使用者的根目錄下,root使用者就是/目錄下,如果沒有的話就自己建一個,把許可權改為 *00 5.1.2若是出現這個錯誤:Exited sync due to gc errors 表示代碼基本下載完,需要從repo裡面匯出來,但是git的版本太低,不支援1.72以下版本。添加這個源:deb http://ftp.de.debian.org/debian sid main。在終端中執行:gedit /etc/apt/source.list在檔案的最後添加deb http://ftp.de.debian.org/debian sid main,並儲存退出回到終端中執行:sudo apt-get update更新完後,安裝高版本的git工具在終端中執行:sudo apt-get install git-core 5.1.3.repo sync中遇到error:......checkout ....接一串hashnumber解決方案:進到它說提示的目錄中,用git status顯示檔案,將修改過的檔案刪除掉,再重新repo sync 5.1.4.repo sync中遇到:contains uncommitted changes解決方案:進到它說提示的目錄中,使用git reset --hard命令 5.1.5. 怎麼對repo下的所有project執行git命令解決方案:repo forall -c git checkout -b //該條命令會對repo下的project執行切換branch的命令 5.1.6. 怎麼切換到你想要的branch解決方案:git checkout branchName,比如 git checkout testBranch 5.2安裝編譯環境的軟體可能會出現的問題 下列軟體包有未滿足的依賴關係: libasound2: 破壞: libasound2-plugins (< 1.0.24-0ubuntu3) 但是 1.0.22-0ubuntu6 正要被安裝 libglib2.0-0: 破壞: gnome-control-center (< 1:3) 但是 1:2.30.0-0ubuntu4 正要被安裝 ppp: 破壞: network-manager (<= 0.8.0.999-1) 但是 0.8-0ubuntu3 正要被安裝E: 破損的軟體包某些源有問題,為高版本 ubuntu的源 ,刪除即可,如安裝高版本的git所用的源就是ubuntu 10.4之後的源,用在10.04上就可以會有問題,引起此提示。在終端中執行:gedit /etc/apt/source.list把檔案的最後 deb http://ftp.de.debian.org/debian sid main 刪除,並儲存退出回到終端中執行:sudo apt-get update再次重新安裝編譯環境的軟體 5.3、編譯可能會遇到的問題: 5.3.1運行make命令後,提示以下錯誤:/bin/bash: java: command not found首先檢查是否確實安裝了jdk,在終端中輸入:java -version ,若是有安裝jdk,就會顯示jdk的版本資訊,提示出錯,說明沒有安裝jdk,那麼就安裝jdk。安裝jdk後還是提示上面的錯誤資訊,則按執行以下命令建立連結檔案來解決問題:sudo ln -s /jdk1.6.0_21/bin/jar ~/bin/jarsudo ln -s /jdk1.6.0_21/bin/java ~/bin/javasudo ln -s /jdk1.6.0_21/bin/javac ~/bin/javacsudo ln -s /jdk1.6.0_21/bin/javah ~/bin/javahsudo ln -s /jdk1.6.0_21/bin/javadoc ~/bin/javadoc重新編譯若還是提示一樣的錯誤,再執行下面的命令:sudo ln -s /jdk1.6.0_21/bin/jar /bin/jarsudo ln -s /jdk1.6.0_21/bin/java /bin/javasudo ln -s /jdk1.6.0_21/bin/javac /bin/javacsudo ln -s /jdk1.6.0_21/bin/javah /bin/javahsudo ln -s /jdk1.6.0_21/bin/javadoc /bin/javadoc至此java的問題應該可以解決 5.3.2 編譯出現以下錯誤提示: ============================================ Checking build tools versions... ************************************************************ You are attempting to build with the incorrect version of java. Your version is: java version "1.6.0_24". The correct version is: Java SE 1.6. Please follow the machine setup instructions at https://source.android.com/source/download.html ************************************************************ build/core/main.mk:141: *** stop。 停止。 切換從普通使用者登,然後修改源碼目錄的存取許可權:chmod 777 src 之後再運行編譯命令再次編譯 5.3.3 No command ‘lunch‘ found, did you mean: 解決方案: 運行以下命令: source build/envsetup.sh 之後再次運行編譯命令:lunch full-eng或lunch full-user …….. 5.4運行模擬器可能會出現的問題: No command ‘emulator‘ found, did you mean: 編譯成功之後,在終端運行emulator命令,卻提示: No command ‘emulator‘ found, did you mean: Command ‘qemulator‘ from package ‘qemulator‘ (universe) emulator: command not found 解決方案: 重新運行以下命令: source build/envsetup.sh lunch full-eng 之後再次運行 emulator 命令 |
【轉】Android源碼下載過程的一些注意事項