Android學習【Android核心編譯流程和錯誤筆記】,android核心

來源:互聯網
上載者:User

Android學習【Android核心編譯流程和錯誤筆記】,android核心

部落格:http://blog.csdn.net/muyang_ren
Ubuntu14.04 LTS(要求是64位長期支援版LTS)
Jdk1.8
核心:android4.0

一:jdk

1、解壓jdk,獲得路徑

2、
sudo vim /etc/environment
修改為:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/lhy/jdk/jdk1.8.0_45/bin"JAVA_HOME="/home/lhy/jdk/jdk1.8.0_45"CLASSPATH=".:/home/lhy/jdk/jdk1.8.0_45/lib"

3、source /etc/environment

二:ubuntu配置
需要注意jdk的版本和編譯器gcc、g++的版本問題,
官網配置:http://source.android.com/source/initializing.html
Ubuntu14.04:

sudo apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip把下面出現錯誤需要安裝的都放在這了sudo apt-get install g++sudo apt-get install gcc-multilibsudo apt-get install g++-4.4-multilibsudo apt-get install flexsudo apt-get install libncurses5-devsudo apt-get install lib32ncurses5-devsudo apt-get install gawk(這個是網上看到需要裝的,我就提前安裝就沒出錯了)

出現錯誤:

下列軟體包有未滿足的依賴關係: g++-multilib : 依賴: gcc-multilib (>= 4:4.8.2-1ubuntu6) 但是它將不會被安裝                依賴: g++ (>= 4:4.8.2-1ubuntu6) 但是它將不會被安裝E: 無法修正錯誤,因為您要求某些軟體包保持現狀,就是它們破壞了軟體包間的依賴關係

處理方法:

sudo apt-get install g++sudo apt-get install gcc-multilib

出現錯誤:

Checking build tools versions...************************************************************You are attempting to build with the incorrect versionof java.Your version is: java version "1.8.0_45".The correct version is: Java SE 1.6.Please follow the machine setup instructions at    http://source.android.com/source/download.html************************************************************build/core/main.mk:131: *** stop。 停止。

解決辦法,

使用jdk 1.6PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/lhy/jdk/jdk1.6.0_29/bin"JAVA_HOME="/home/lhy/jdk/jdk1.6.0_29"CLASSPATH=".:/home/lhy/jdk/jdk1.6.0_29/lib"

出現錯誤:

g++: selected multilib '32' not installedmake: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] 錯誤 1

解決辦法:

需要安裝gcc、g++的multilib包,直接執行下面的命令,會自動安裝g++、gcc的multilib包;    sudo apt-get install g++-4.4-multilib

出現錯誤(這個其實可以忽略):

注意:某些輸入檔案使用或覆蓋了已淘汰的 API。注意:要瞭解詳細資料,請使用 -Xlint:deprecation 重新編譯。注意:某些輸入檔案使用了未經檢查或不安全的操作。注意:要瞭解詳細資料,請使用 -Xlint:unchecked 重新編譯。

解決辦法(手敲,別tab鍵,機不好會卡好久):make update-api

出現錯誤:

/bin/bash: flex: command not foundmake: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] Error 127

解決辦法:

sudo apt-get install flex

出現錯誤:

host C: adb <= system/core/adb/transport_usb.chost C: adb <= system/core/adb/commandline.chost C: adb <= system/core/adb/adb_client.chost C: adb <= system/core/adb/sockets.chost C: adb <= system/core/adb/services.chost C: adb <= system/core/adb/file_sync_client.chost C: adb <= system/core/adb/get_my_path_linux.chost C: adb <= system/core/adb/usb_linux.chost C: adb <= system/core/adb/utils.chost C: adb <= system/core/adb/usb_vendors.chost C: adb <= system/core/adb/fdevent.chost Executable: adb (out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb)/usr/bin/ld: cannot find -lncursescollect2: ld returned 1 exit statusmake: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] 錯誤 1

解決辦法:

sudo apt-get install libncurses5-dev

發現錯誤:

/usr/bin/ld: cannot find -lncursescollect2: ld returned 1 exit statusmake: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] 錯誤 1

解決辦法:

sudo apt-get install lib32ncurses5-dev

發現錯誤:

dalvik/vm/native/dalvik_system_Zygote.cpp: In function ‘int setrlimitsFromArray(ArrayObject*)’:dalvik/vm/native/dalvik_system_Zygote.cpp:194: error: aggregate ‘rlimit rlim’ has incomplete type and cannot be defineddalvik/vm/native/dalvik_system_Zygote.cpp:217: error: ‘setrlimit’ was not declared in this scopemake: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libdvm_intermediates/native/dalvik_system_Zygote.o] 錯誤 1

解決辦法:

$ vim dalvik/vm/native/dalvik_system_Zygote.cpp添加標頭檔 #include <sys/resource.h>

以下這個可以忽略
注意:某些輸入檔案使用了未經檢查或不安全的操作。
注意:要瞭解詳細資料,請使用 –Xli

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.