成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android源碼編譯過程詳述

移動開發 Android
Android編譯主要包括對C,C++,的編譯,這里主要是GCC,G++,編譯器,針對ARM平臺的編譯器,主要是arm-eabi-編譯器, 還有針對JAVA的編譯器,就是JDK,對GCC,G++最好的版本是4.3版,ubuntu 8.04的gcc版本是4.2.4,并且通過apt-get install沒有gcc4.3的包。

說一下Android源碼的編譯,這個困擾了我粉久的問題,在網上隨便搜一下Android源碼編譯,都能搜出很多結果,但在這里我得告訴你,別太 樂觀,沒有一個網頁能讓你順順利利的按照步驟,編譯出最后的img的。我在這里盡量把我所遇到的問題、及解決辦法告訴大家,我自認編譯Android所能 遇到的問題,我都遇到了,所以應該是一個比較全的編譯指南,有不對的地方歡迎指教。

首先說一下,編譯Android所用的系統,目前ubuntu是比較好的平臺,也是官方推薦的,但具體版本,說的都比較少,為了避免大家走彎路,我 這里說一下,最好的就是ubuntu 8.10,他所帶有的各個編譯器都是最合適的,Android編譯對編譯器的要求近乎于苛刻。網上總說以8.04作為編譯的系統,但我在這里說,8.04 絕不是什么最好的系統。下面我會一一說明。

Android編譯主要包括對C,C++,的編譯,這里主要是GCC,G++,編譯器,針對ARM平臺的編譯器,主要是arm-eabi-編譯器, 還有針對JAVA的編譯器,就是JDK,對GCC,G++最好的版本是4.3版,ubuntu 8.04的gcc版本是4.2.4,并且通過apt-get install沒有gcc4.3的包,這里郁悶了我很久,最后通過下載8.10的包才完成的GCC升級,順帶說一下,ubuntu apt-get工具的源添加方法,在/etc/apt/sourcelist里面是源的地址,在這里加入8.10版本的升級源,就可以通過apt安裝下載 8.10的應用程序了,但由于在8.04下升級不能達到GCC4.3,正常情況下,對不同版本的系統軟件升級是不能使用別的版本的軟件的,所以這樣做不知 道有什么不好的結果,所以選擇操作系統最好是8.10,如果是9以后的版本就需要降級,就是安裝低版本的程序,通過在/usr/bin下修改軟鏈接、或者 apt-alternatives --config 來選擇,對GCC的鏈接,通過ln -sf gcc-4.3 gcc,修改,對JDK需要通過apt-alternatives --config java,apt-alternatives --config javac,apt-alternatives --config javah,進行修改,選擇JDK1.5版本。

首先下載Android的源代碼,Android的源代碼管理工具是使用git,配合repo來實現的,安裝git,curl http://android.git.kernel.org/repo > /home/android /bin/repo,通過repo init -u選擇Android代碼進行下載,這里在下載時,最好使用-b選擇下載的版本,主要因為默認下載的是master branch就是正在編寫、升級的版本,說白了屬于測試版,對編譯Android來說,沒什么好處,最好通過-b指定穩定版本進行下載,-b后面可以是 cupcake/eclair等等,這里需要耐心等待,一般下載5,6個鐘頭就能下載完畢,以我的經歷,一般是早上6點鐘到上午10點左右速度都很好的, 其他時間速度不行。網絡經常斷,通過XXXX修改。

接著是編譯環境的配置,編譯Android需要安裝很多軟件,apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev,這些是官方說明中需要的,可能還有fakeroot,apt-get install valgrind ,反正這里一定要確保完全安裝這些工具,否則編譯會出很多莫名其妙的問題。

接著就可以make了,首先檢查一下gcc,jdk版本是不是gcc-4.3,JDK1.5版本,接著修正環 境變量,export JAVA_HOME=/yourJDKpath/,ANDROID_JAVA_HOME=$JAVA_HOME,將這兩句加入/etc /environment中,重啟機器,將環境變量啟用。

[android]編譯時出現 /usr/include/gnu/stubs.h:7: fatal error: gnu/stubs-32.h: No such file or directory 錯誤信息 

缺少libc開發包,安裝即可: apt-get install libc6-dev-i386

[android]編譯時出現/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.so when searching for -lz錯誤信息 

缺少lib32z1-dev,安裝即可:apt-get install lib32z1-dev

引自:http://0123.blog.163.com/blog/static/4788312010102392452933/

host Executable: acp (out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp)
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.3/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.3/libstdc++.a when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.3/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.3/libstdc++.a when searching for -lstdc++

解決:

sudo apt-get install g++-multilib

GL/glx.h: No such file or directory)

sudo apt-get install libgl1-mesa-dev

接著就可以make了,這里著重說一下編譯可能遇到的錯誤,如果你遇到的錯誤在網上找不到,那么有可能是在repo解壓過程中對文件產生的錯誤,將Android src目錄下除.repo目錄外,都刪除,重新執行repo sync解壓之后再make。其它的錯誤見http://lazyhack.net/build-android-source-and-fix-issue/這 篇帖子,基本各種問題都進行了說明,補充一點就是,在duplicate entry 問題時,正常find都找出的是2個,直接刪除一個就好了,但有幾個是find出4項,這里需要仔細看一下,這4項中倆倆類似,只是路徑中某個文件夾不 同,刪除時,刪除那個最高級目錄不同的兩個中的一個即可。別刪錯咯。

make一次我在虛擬機上,單核來跑,一般長達3個小時左右需要耐心等待,如果編譯中出現錯誤,看一下,解決后,一般不用make clean,再make的方式,直接make,一般是可以由錯誤點繼續編譯的,節省時間。

責任編輯:閆佳明 來源: blog.sohu
相關推薦

2017-05-18 13:33:16

Web服務器編譯部署

2013-05-28 10:52:07

Android開發移動開發移動應用

2009-11-30 16:38:30

Android

2010-02-07 09:52:22

Android 插件

2010-03-05 10:57:48

Android系統

2011-08-29 16:31:30

UbuntuAndroid

2009-12-07 09:52:06

Ubuntu9.10/

2014-04-29 13:16:42

OpenGLAndroid庫加載過程

2010-09-16 17:53:12

Java編譯

2009-11-27 10:18:16

Cisco路由器手冊

2011-09-14 15:23:00

Android 2.2

2022-05-18 07:58:21

Linux程序編譯代碼

2010-08-31 16:42:52

配置交換機DHCP服務

2010-05-07 14:27:16

IPVS負載均衡

2009-09-25 15:31:24

Hibernate架構

2010-05-06 15:00:58

集群負載均衡

2010-07-12 14:41:35

UDP協議

2010-09-26 14:16:26

DHCP協議應用

2010-09-01 17:11:01

DHCP中繼代理

2009-08-04 10:20:22

C#源碼存儲過程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精华一区 | 午夜久草 | 亚洲精品一二三 | 免费的日批视频 | 国产精品一区一区 | 九九久久精品 | 亚洲综合中文字幕在线观看 | 夜夜夜久久久 | 欧美黄页| 日本久久综合 | 精品国产乱码久久久久久88av | 中国大陆高清aⅴ毛片 | 日产精品久久久一区二区福利 | 性做久久久久久免费观看欧美 | 午夜免费电影院 | 免费精品在线视频 | 国产日韩一区二区 | 国产日韩一区二区 | 一级a性色生活片久久毛片 午夜精品在线观看 | 亚洲日本中文字幕在线 | 一本一道久久a久久精品综合蜜臀 | 91免费视频观看 | 欧美福利| 午夜精品久久久久久久99黑人 | 欧美男人天堂 | 欧美国产日韩在线观看成人 | 成人亚洲网 | 狠狠操电影 | 一区二区不卡视频 | 亚洲成人久久久 | 久久99精品久久久久久青青日本 | 91社区在线观看 | 国产在线观看一区二区三区 | 狠狠操狠狠色 | 亚洲第一天堂无码专区 | 免费观看av| 久久噜噜噜精品国产亚洲综合 | 一级做a爰片久久毛片 | 国产精彩视频 | 国产精品欧美日韩 | 久久国内精品 |