android 4.2 源碼在64位Ubuntu編譯


1.獲取Android源代碼

       Android官網給出了從網上下載源代碼的方法,具體流程如下網址所示:http://source.android.com/source/downloading.html

      按照上面的方法,我寢室10M的網,一晚上不知道下載了多少,每次repo sync都感覺會和服務器斷開連接,然后果斷放棄了從官網下載源代碼的想法,直接在網上下載別人已經下載好的代碼:http://115.com/lb/5lbqyjx7

 

2.安裝編譯需要的工具

      官網給的流程,可以參考一下:http://source.android.com/source/initializing.html

JDK

    貌似很早之前Ubuntu里面的JDK就被換成了open-jdk,試了下官網給的方法:

$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" $ sudo apt-get update $ sudo apt-get install sun-java6-jdk

    結果不怎么給力,好像也安裝不了,記得以前可以的...直接去oracle網站下載JDK,現在一進入下載就只有JDK1.7的,找了一下JDK1.6的下載地址,如下:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR,我記得我當時下載是單獨注冊了一個賬號的,沒有賬號不讓下載,太TM坑爹了。

    有了安裝bin安裝文件,我是直接放在我的用戶目錄下面的,然后執行:

   $chmod +x jdk-6u45-linux-x64.bin

   $./jdk-6u45-linux-x64.bin 

   執行后會在用戶目錄里面生成jdk目錄:/home/chadm/jdk1.6.0_45。然后配置Java環境,執行命令:

   ~$ sudo gedit /etc/profile

    在文件尾加上:

         export JAVA_HOME=/home/chadm/jdk1.6.0_45
         export JRE_HOME=/home/chadm/jdk1.6.0_45/jre  
         export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH  
         export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH  

   保存文件,然后執行:source /etc/profile。

   運行java -version和javac -version

 

安裝需要的包

$ sudo apt-get install git gnupg flex bison gperf build-essential \   
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \   
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \   
libgl1-mesa-dev g++-multilib mingw32 tofrodos \   
python-markdown libxml2-utils xsltproc zlib1g-dev:i386 
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1/usr/lib/i386-linux-gnu/libGL.so  

直接復制運行會出現如下錯誤:

下列軟件包有未滿足的依賴關系:
 libgl1-mesa-glx:i386 : 依賴: libglapi-mesa:i386 (= 8.0.4-0ubuntu0.6)
                        推薦: libgl1-mesa-dri:i386 (>= 7.2)
E: 無法修正錯誤,因為您要求某些軟件包保持現狀,就是它們破壞了軟件包間的依賴關系

將里面的libgl1-mesa-glx:i386修改為 libgl1-mesa-dri:i386,運行后可以正常安裝

 

3.編譯Android源代碼

   官網給的文檔 http://source.android.com/source/building-running.html

   運行如下指令:

. build/envsetup.sh 
lunch full-eng 
make -j4

    編譯的時候出現問題了,提示使用make update-api,然后再使用make -j4


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM