ubuntu編譯android44
❶ ubuntu下編譯android時出現以下問題,請高手指點。 跪謝!!
你的out目錄是你自己建立的?理論上是不會出現這個問題的?建議你刪除下out目錄,保證checkout 代碼出來的用戶和你編譯的用戶是同一個,避免許可權問題;
❷ Ubuntu12.04(32)編譯Android4.0源碼,錯誤:external/clang/include/clang/AST/RecursiveASTVisitor.h:284
我自己在12.04下編譯過android源碼,沒有問題。
如果是ubuntu32位的緣故,你可以修改
./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_LDFAGS += -m64將64換成32
然後,將./build/core/main.mk中的
ifneq(64,$(findstring 64,$(build_arch)))
改為ifneq(i686,$(findstring i686,$(build_arch)))
這樣你試試。
❸ ubuntu 在編譯android時,暫停編譯的命令恢復編譯的命令是什麼
沒有這樣的命令哦,ctrl+C可以停止,如果接著編輯直接 make package -j46,//46是線程數
❹ 如何在32位ubuntu11.10 下編譯android 4.0.1源碼和goldfish內核
一準備工作
1安裝javasdk6
(1)從jdk官方網站http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u29-download-513648.html下載jdk-6u29-linux-i586.bin文件。
(2)執行jdk安裝文件
[html] view plain
$chmod a+x jdk-6u29-linux-i586.bin
$jdk-6u29-linux-i586.bin
(3)配置jdk環境變數
[html] view plain
$sudo vim /etc/profile
[html] view plain
#JAVAEVIRENMENT
exportJAVA_HOME=/usr/lib/java/jdk1.6.0_29
exportJRE_HOME=$JAVA_HOME/jre
exportCLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
保存後退出編輯,並重啟系統。
2安裝依賴包
[html] view plain
$sudo apt-get install git-core gnupg flex bison gperf build-essential\
zipcurlzlib1g-devlibc6-devlib32ncurses5-devia32-libs\
x11proto-core-devlibx11-devlib32readline5-devlib32z-dev\
libgl1-mesa-devg++-multilibmingw32tofrodospython-markdown\
libxml2-utils
3用repo工具下載源碼
(1)初始化repo
[html] view plain
$cd ~
$mkdir bin
$curlhttps://dl-ssl.google.com/dl/googlesource/git-repo/repo>~/bin/repo
$chmod a+x ~/bin/repo
$exportPATH=$PATH:~/bin(導出環境變數)
(2)下載android最新源碼
[html] view plain
$mkdir android
$cd android
$ repo init -u https://android.googlesource.com/platform/manifest -bandroid-4.0.1_r1
...(輸入用戶名和郵箱名)
$repo sync -j5
...(此處用5個線程開始下載源碼,下載過程及其漫長,需要耐心等待)
二 編譯源碼
1開始編譯
[html] view plain
$source build/envsetup.sh
includingdevice/samsung/maguro/vendorsetup.sh
includingdevice/samsung/tuna/vendorsetup.sh
includingdevice/ti/panda/vendorsetup.sh
includingsdk/bash_completion/adb.bash
$make-j4(此處用4個線程編譯)
編譯完成後,會看到類似的輸出:
[html] view plain
Targetramdisk:out/target/proct/generic/ramdisk.img
Targetuserdatafsimage:out/target/proct/generic/userdata.img
Installedfilelist:out/target/proct/generic/installed-files.txt
2編譯遇到的問題
編譯錯誤:
[html] view plain
<命令行>:0:0:錯誤:「_FORTIFY_SOURCE」重定義[-Werror]
<built-in>:0:0:附註: 這是先前定義的位置
cc1plus:所有的警告都被當作是錯誤
make:*** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o]錯誤 1
原因:
因機器上的gcc版本過高,需替換成4.4.6重新進行編譯。
解決方法:
1)安裝4.4版本的gcc和g++
[html] view plain
$ sudo apt-get install gcc-4.4
$ sudo apt-get install g++-4.4
2)設置gcc版本,使gcc鏈接到gcc-4.4
[html] view plain
$ ls -l /usr/bin/gcc*
lrwxrwxrwx 1 root root 7 2011-11-01 23:56 /usr/bin/gcc -> gcc-4.6
-rwxr-xr-x 1 root root 224544 2011-10-06 05:47 /usr/bin/gcc-4.4
-rwxr-xr-x 1 root root 302104 2011-09-17 05:43 /usr/bin/gcc-4.6
$ cd /usr/bin
$ sudo mv gcc gcc.bak
$ sudo ln -s gcc-4.4 gcc
3)設置g++版本,使g++鏈接到g++-4.4
[html] view plain
$ sudo mv g++ g++.bak
$ sudo ln -s g++-4.4 g++
4)設置完畢後,重新進行編譯即可
3從模擬器啟動編譯後的鏡像文件
1)設置環境變數:
[html] view plain
export PATH=~/android/out/host/linux-x86/bin:$PATH
export ANDROID_PRODUCT_OUT=~/android/out/target/proct/generic
其中linux-x86/bin存放模擬器emulator工具,proct/generic存在編譯後的鏡像文件。
2)啟動模擬器
[html] view plain
$emulator
emulator:WARNING: system partition size adjusted to match image file (162 MB >66 MB)
啟動後的截圖:
三 編譯androidgoldfish內核
1)進入android4.0.1源碼目錄,下載goldfish內核源碼
[html] view plain
$ mkdir kernel
$ cd kernel
$ git clone http://android.googlesource.com/kernel/goldfish.git
$ cd goldfish
$ git branch -a
* (no branch)
master
remotes/origin/HEAD -> origin/master
remotes/origin/android-goldfish-2.6.29
remotes/origin/master
$ git checkout remotes/origin/android-goldfish-2.6.29
2)修改Makefile
[html] view plain
goldfish$ gedit Makefile
修改
[html] view plain
ARCH ?=$(SUBARCH)
CROSS_COMPILE ?=
為
[html] view plain
ARCH ?=arm
CROSS_COMPILE ?=arm-eabi-
3)導出交叉編譯器目錄為環境變數
$ export PATH=$PATH:~/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin
4)編譯內核
[html] view plain
goldfish$ make goldfish_armv7_defconfig
goldfish$ make
編譯完成後,可看到類似如下的輸出:
[html] view plain
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
5)從模擬器中啟動內核鏡像
[html] view plain
$emulator -kernel ~/android/kernel/goldfish/arch/arm/boot/zImage &
啟動模擬器後,可從Settings->System->AboutPhone中查看內核版本信息。
❺ 編譯android4.4用哪個版本的gcc
一般來說編譯安卓4.4用ggc的4.4.3版本即可,版本過高可能會引起錯誤。
gcc:它是一套GNU編譯器套裝以GPL許可證所發行的自由軟體,也是 GNU計劃的關鍵部分。GCC原本作為GNU操作系統的官方編譯器,現已被大多數類Unix操作系統(如Linux、BSD、Mac OS X等)採納為標準的編譯器,GCC在微軟的Windows下的移植版本叫MinGW。[1]GCC是自由軟體過程發展中的著名例子,由自由軟體基金會以GPL協議發布
❻ Ubuntu編譯Android錯誤,compilation terminated
沒找到srtp.h這個頭文件,倒數第6行那個路徑肯定不對。
你要在Android.mk文件中指定正確的頭文件所在目錄的路徑。
❼ 在Ubuntu10.04上編譯安卓源碼4.4.4遇到 prebuilts/tools/gcc-sdk/g++: No such file or directory的問題
你的源碼解壓後 prebuilts/tools/gcc-sdk/ 目錄下沒有g++鏈接文件,將源碼裡面的gcc-sdk目錄解壓出來放在相應文件夾下。
❽ QX9300 虛擬機vmware安裝ubuntu方式編譯android 4.4內核大約要多久
vmware workstation 10
ubuntu-10.04.4-desktop-amd64.iso
1
ubuntu的安裝,打開vmware workstation 10,點創建新的虛擬機
2
點下一步
3
選擇下載的UBANTU光碟ISO文件,點下一步
4
設置Ubantu名稱及登錄用戶名及密碼,點下一步
5
設置虛擬機文件名稱及保存在磁碟上的位置,點下一步
6
設置虛擬機使用磁碟大小,若要編譯ANDROID,至少設置40GB,這里設置200GB保證足夠夠用
7
至此主要的設置都完成了,直接點擊完成即可。也可點擊自定義硬體進行詳細的設置,我們點自定義硬體,來設置內存
8
把虛擬機內存設置成實體機內存的一般大小,以保證安裝Ubantu的時候,速度不會卡,這里我設置成4GB,其它保持默認即可。設置完後點擊關閉。這個我們可以在任何時候配置硬體,甚至可以在UBANTU安裝完成之後再重新編輯硬體設置,只需點下圖的編輯虛擬機設置
9
配置完成,下面才是真正開始安裝,點擊開啟此虛擬機UBANTU即開始自動安裝,全程自動,無人值守
10
初始化安裝
11
安裝中 ,5%
12
安裝中 ,50%
13
安裝中 ,79%
14
安裝中 ,100%
15
安裝完成就開始自動安裝VMware Tools,這VMware Tools不屬於Ubantu操作系統,只是VMware公司方便主操作系統與客戶操作系統交互而提供的一個工具軟體
16
安裝完成,自動重啟,顯示登陸界面,點擊輸入前面設置的密碼登錄
17
登陸完成,安裝成功!!!
END
1
下面對UBANTU進行一些設置,以符合我們的工作習慣
修改默認顯示解析度,選擇System--->Preference--->monitors,修改顯示解析度為1280x800
2
修改待機屏幕保護及鎖屏時間,選擇System--->Preference--->screensaver,,去掉屏幕保護程序激活時鎖屏,免得安裝軟體時或編譯時總要輸入密碼才能登入系統
3
編輯虛擬機硬體設置,修改客戶機時間與主機時間同步
4
調出我的電腦、網上鄰居、我的文檔、回收站等圖標
按鍵盤的Alt 和 F2,打開 Run Application程序,輸入gconf-editor,然後Run打開Configuration Editor,選擇apps--->nautilus--->desktop,如圖所示框選相應選項即可
5
將終端放置在桌面和上面板上,以方便我們點擊調用,如圖所示
6
安裝右鍵調用終端工具,通常點擊右鍵,右鍵菜單沒有open in terminal右鍵打開終端工具
輸入sudo apt-get install nautilus-open-terminal命令,安裝右鍵打開終端工具
7
修改操作系統界面為中文,選擇System--->admininstration--->langunge support,如圖設置安裝中文語言包,經試驗安裝中文語言包極其緩慢,需要更新源,下一節會講到
8
設置虛擬機系統與主機系統共享文件夾,方法很多,
1.主機讀取虛擬客戶機共享出來的文件夾
2.虛擬客戶機讀取主機共享出來的文件夾
後面我會花時間專門一節講解虛擬機系統與主機文件夾共享的各種方法
END
本經驗是由本人親自測試編寫,圖片文字全部為原創,網路經驗首發,未經許可,謝絕轉載!
如果覺得本人的經驗對你有幫助,請點擊支持,謝謝!
換一批相關經驗
android4.4源碼編譯環境搭建72014.06.26
android開發環境之虛擬機搭建72014.04.30
Ubuntu10.04搭建MTK android編譯環境02014.04.06
android學習1-虛擬機的搭建02015.01.15
android學習2-虛擬機設置成漢語02015.01.16
相關標簽 android 虛擬機
©2015Bai 使用網路前必讀 網路經驗協議 作者創作作品協議
❾ 在ubuntu編譯android文件時遇到下面的問題
很明顯就是這個:arm-linux-androideabi-g++找不到,進入你的這個目錄下:prebuilt/linux-x86/ccache/ccache prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/
然後看下是否有以下文件或鏈接文件:
arm-linux-androideabi-addr2line arm-linux-androideabi-gprof
arm-linux-androideabi-ar arm-linux-androideabi-ld
arm-linux-androideabi-as arm-linux-androideabi-ld.bfd
arm-linux-androideabi-c++ arm-linux-androideabi-ld.gold
arm-linux-androideabi-c++filt arm-linux-androideabi-nm
arm-linux-androideabi-cpp arm-linux-androideabi-obj
arm-linux-androideabi-g++ arm-linux-androideabi-objmp
arm-linux-androideabi-gcc arm-linux-androideabi-ranlib
arm-linux-androideabi-gcc-4.4.3 arm-linux-androideabi-readelf
arm-linux-androideabi-gccbug arm-linux-androideabi-run
arm-linux-androideabi-gcov arm-linux-androideabi-size
arm-linux-androideabi-gdb arm-linux-androideabi-strings
arm-linux-androideabi-gdbtui arm-linux-androideabi-strip
特別是看下這個:arm-linux-androideabi-g++
若是沒有從別的地方(如你同事朋友那邊拷一份過)一份放在這里。若是軟鏈接文件,看看鏈接指向的文件是不是不存在了,不存在也一樣一份好的放在鏈接指向的文件的地方。
❿ ubuntu12.04編譯android源碼要多久
這個關鍵是要看你的電腦配置情況,以及代碼的附加情況,有的平台軟體會附加很多東西上去,編譯就比較慢了。
我們這邊使用的是四核八線程的電腦,32GB內存,
原生代碼 4.4 八線程編譯40分鍾左右,5.1,一個半小時左右,6.0的大約一個小時,以上是原生代碼編譯模擬器的時間。
高通代碼6.0編譯一般需要兩個小時左右,mtk的也是兩個小時左右,