Ubuntu下的源碼下載及編譯

 

@官方的文檔地址: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


   

5 天前 上傳
下載附件 (6.72 KB)
查看系統

 

 

 


5 天前 上傳
下載附件 (7.61 KB)
bin文件夾下的repo文件

 

5 天前 上傳
下載附件 (48.51 KB)
修改bin下的repo文件

 

5 天前 上傳
下載附件 (15.6 KB)
下載清單文件

 

5 天前 上傳
下載附件 (25.94 KB)
修改清單文件

 

5 天前 上傳
下載附件 (23.73 KB)
repo客戶端初始化

 

5 天前 上傳
下載附件 (27.66 KB)
下載源碼過程

 

5 天前 上傳
下載附件 (56.4 KB)
32位系統出錯

 

 

 

android2.3源碼下載編譯過程.rar (206.02 KB, 下載次數: 122)

5 天前 上傳
下載次數: 122
說明文檔
下載積分: e幣 -1 元

 


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!問題解決
 

本文來自:Java問問(http://www.javaask.com) 詳細出處參考:http://www.javaask.com/mobile/android/2011/0318/4026.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章