android源碼下載編譯
用最新的Ubuntu 16.04,請首先確保自己已經安裝了Git.沒安裝的同學可以通過以下命令進行安裝:
sudo apt-get install git git config –global user.email 「[email protected]」 git config –global user.name 「test」
其中[email protected]為你自己的郵箱.
簡要說明
android源碼編譯的四個流程:1.源碼下載;2.構建編譯環境;3.編譯源碼;4運行.下文也將按照該流程講述.
源碼下載
由於某牆的原因,這里我們採用國內的鏡像源進行下載.
目前,可用的鏡像源一般是科大和清華的,具體使用差不多,這里我選擇清華大學鏡像進行說明.(參考:科大源,清華源)
repo工具下載及安裝
通過執行以下命令實現repo工具的下載和安裝
mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo
補充說明
這里,我來簡單的介紹下repo工具,我們知道AOSP項目由不同的子項目組成,為了方便進行管理,Google採用Git對AOSP項目進行多倉庫管理.在聊repo工具之前,我先帶你來聊聊多倉庫項目:
我們有個非常龐大的項目Pre,該項目由很多個子項目R1,R2,...Rn等組成,為了方便管理和協同開發,我們為每個子項目創立自己的倉庫,整個項目的結構如下:
這里寫圖片描述
執行完該命令後,再使用make命令繼續編譯.某些情況下,當你執行jack-admin kill-server時可能提示你命令不存在,此時去你去out/host/linux-x86/bin/目錄下會發現不存在jack-admin文件.如果我是你,我就會重新repo sync下,然後從頭來過.
錯誤三:使用emulator時,虛擬機停在黑屏界面,點擊無任何響應.此時,可能是kerner內核問題,解決方法如下:
執行如下命令:
通過使用kernel-qemu-armv7內核 解決模擬器等待黑屏問題.而-partition-size 1024 則是解決警告: system partion siez adjusted to match image file (163 MB >66 MB)
如果你一開始編譯的版本是aosp_arm-eng,使用上述命令仍然不能解決等待黑屏問題時,不妨編譯aosp_arm64-eng試試.
結束吧
到現在為止,你已經了解了整個android編譯的流程.除此之外,我也簡單的說明android源碼的多倉庫管理機制.下面,不妨自己動手嘗試一下.
❷ 請問用虛擬機下載編譯Android源碼主要是為了干什麼啊
估計是要你做好編譯環境
下好sdk(軟體開發包)裝好里悄頌面有模擬器的
如果是的話
你直接網路android sdk加上你們研究的版本號比如2.1 2.2
android是不用燒錄的啟鏈鄭
編譯喚磨好就是個apk文件直接拉到手機裝的
❸ Android源碼編譯
在編譯源碼之前需要做一些准備操作, 詳細步驟如下:
1. 安裝JDK, google官方要求編譯2.3源碼需要JDK1.6.
注意: ubuntu自帶的源中速度比較慢, 有些軟體找不到, 所以需要修改為國內的源, 修改源步驟如下:
執行完上面幾步, 數據源就更新完成了, 下面就開始安裝編譯依賴的軟體, 同樣, 在終端中以行為單位依次輸入以下命令:
❹ 如何在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中查看內核版本信息。
❺ windows下如何編譯自己寫的android源碼
再電腦上查看android源碼,需要搭建android開發環境:
1、jdk下載並安裝
2、Eclipse編譯器下載安裝,並安裝ADT插件和android SDK
待編譯環境搭建完成,導入android工程源碼,就可以順利打開了!
❻ 如何編譯android手機源碼
編譯android系統源碼准備工作:
下載android源碼
在windows上用gitbash ,git clone 下載代碼
在linux上這樣下載
創建~/bin目錄,用來存放repo程序,如下:
$ cd ~
$ mkdir bin
初始化repo
repo是android對git的一個封裝,簡化了一些git的操作。
創建工程目錄:
$ mkdir android
$ cd android
下載repo腳本並使其可執行:
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
repo初始化:
$ repo init -u git://android.git.kernel.org/platform/manifest.git
在此過程中需要輸入名字和email地址。初始化成功後,會顯示:
repo initialized in /android
在~/android下會有一個.repo的隱藏目錄。
5)同步源代碼
$ repo sync
這一步要很久很久。
安裝linux系統,推薦ubuntu,圖形界面
安裝編譯需要的支持包
$ sudo 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
安裝java6.0
$ sudo apt-get install sun-java6-jdk
配置java環境
sudo gedit ~/.bashrc
末尾加上
JAVA_HOME=/usr/lib/jvm/java-6-sun
JRE_HOME=${JAVA_HOME}/jre
export ANDROID_JAVA_HOME=$JAVA_HOME
export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export JAVA_HOME;
export JRE_HOME;
export CLASSPATH;
HOME_BIN=~/bin/
export PATH=${PATH}:${JAVA_PATH}:${HOME_BIN};
sudo source ~/.bashrc
是環境變數生效
編譯android源碼,並得到~/android/out目錄
$ cd ~/andoird
$ make
這一過程很久。
這就編譯結束了
❼ 怎麼進行android源碼編譯
eclipse下編譯android代碼的流程虧攜如下:
1.點擊襲空慧拍答android工程,點擊run
2.彈出窗口,選擇運行設備,如下圖,點擊run就可以編譯,運行
❽ windows下如何編譯android源碼
如果沒記錯,windows下是沒法編譯android框架源代碼的
因為android是基於linux平台的,因此底層的很多東西都是基於linux系統的
如果只是單純的android應用程序,則可以在windows下開發編譯
只需要用Eclipse的adt插件加上windows下開發的Android SDK就行了。
❾ Android源碼編譯都是通過從Android官網上下載源碼來編譯的,我能否別人下載好的源碼來編譯呢
可以,就是有時候會出現錯誤,需要調試
❿ android項目源碼下載
對於讀項目源代碼來說,可能對大多數人是件困難的事。首先,第一個障礙:看到項目,就已經放棄! 如果有十個人,可能有5個人以上會是上面這種情況,分析其想法:這么多的代碼,我要怎麼讀啊!我要讀好久啊!算了,還是看小Demo吧,所以這樣,他們也就只是把這個項目導入到eclipse中,點了幾下滑鼠,然後就沒有下文了。 解決辦法:其實他們終止的原因很簡單,就是嫌麻煩,那好吧,告訴你,這點麻煩都能對你造成影響,其實你的開發之路也可以終止了。任何東西,你要學到它,你就必須花時間、花精力、還要有面對困難的准備。想一步登天,有可能,除非你是天才,但畢竟天才太少了!對於開發,不是學習1+1,所以,先擺正心態吧,那要具備怎樣的心態呢?那就是:有面對困難的准備,也有解決苦難的信心。 心態問題解決了,那就是讀代碼的技巧了,很多人拿到一個項目不知道怎麼入手,乾脆就胡亂的一通看,看到一定時候發現,實在進行不下去了,又開始重新梳理自己的思路。這樣是很浪費時間的,其實對於讀一個項目,最好按照以下步驟進行(
個人意見,僅供參考
): 1、使用這個應用或者游戲,直到熟悉它的使用流程和功能 2、根據自己的體驗分析代碼實現(整體) 3、如果有條件和原作者請教項目思路 4、從最先啟動的Activity開始,弄懂每個Activity功能如何實現以及它的布局實現 5、遇到不懂的代碼,首先找搜索引擎(一般都能解決)。還不行就可以請教他人了 6、對新學到的知識點,一定要總結下來,並且定期的去回顧
7、最重要的一點:
我認為要自己動手寫,那怕是重新寫一遍這個項目,或者自己設計一個類似的,再或者只寫這個項目中的一部分。 為什麼要自己動手呢?大家都知道coder這個東西,那怕你理論學得再好,不動手,那也是毫無意義的!所以,動手寫一下,你會遇到問題,你就會解決問題,這樣,你才能學到更多。這就是經驗·······
以上回答你滿意么?