編輯:高級開發
1. Windows下能編譯android源代碼嗎?
目前android開發網正式Cygwin還無法在Windows下編譯android源代碼,不過在Linux或Mac OS這些*nix系統下可以編譯。
2. 編譯android源碼的JDK版本問題
按照Google官方文檔顯示編譯推薦在JDK 1.5來生成2.2或以前版本系統的ROM,這裡android123推薦大家使用64位的Linux系統來編譯Android源代碼可以減少很多不必要的錯誤。同時從android 2.3姜餅開始使用JDK6來編譯源碼,這點大家注意。
3. 真的想在Windows下編譯源碼怎麼辦?
你可以在Windows下安裝虛擬機,這裡推薦性能和穩定性較好的VMWare 7.x版本,安裝完後不要忘記安裝VMWare Tools。這裡推薦虛擬機的配置為1.5GB的內存和至少10GB的剩余空間,這裡都是Google官方的資料,當然你的PC RAM不是很大可以適當降低,不過會大大增加編譯的時間。
4. 如何下載android源碼及配置編譯環境
這裡我們可以通過手動在/etc/apt/sources.list添加你的系統源,這裡以ubuntu為例,修改需要root權限,當然android123推薦直接使用命令行添加
$sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper main multiverse"
$sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse"
接下來需要更新源,執行下面的命令
$sudo apt-get update
接下來安裝JDK5
$sudo apt-get install sun-Java5-jdk
然後配置JDK5為默認的Java開發環境
$sudo update-java-alternatives -s Java-1.5.0-sun
接下來下載安裝相關的庫文件,比如Python、g++、git、zlib、curl等等,部分版本可能上面的這個源不存在,可以添加一些國內的源,經過android123證實哈工大的源run.hit.edu.cn比較好。
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
然後配置環境變量
$ mkdir ~/bin
$ PATH=~/bin:$PATH
然後通過curl下載repo腳本
$ curl http://android.git.kernel.org/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
開始創建存放android源碼目錄
$ mkdir directory
$ cd directory
開始初始化repo,如果我們下載1.5的源碼,即cupcake,可以執行
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
接下來會提示輸入你的用戶名和郵箱,如果你需要上傳Android源碼分支,這個郵箱必須填寫gmail賬戶,然後開始同步源碼,就是下載android源碼
$ repo sync
這裡android開發網通過分析repo腳本發現有個多線程參數,為-j
如果開啟10個線程下載可以執行
$ repo sync -j 10
整個源碼大約2.6 GB,計算好你的網速需要下載多長時間,編譯需要6GB的剩余空間,所以你如果在虛擬機上編譯,千萬別吝啬空間。
android系統手機推出這也許對大家而言是一種好事,但要提醒大家的是在方便的同時也確實給我們埋下了不少的隱患,無論什麼樣的系統,一定會有他的強大之處,也會有不少瑕疵,
Union Square Ventures公司投資人、AVC博客作者弗雷德·威爾遜(Fred Wilson)一直是android的鐵桿支持者。最近他寫了篇文章指出,盡管
電信運營商通過android操作系統加強對終端市場的掌控與限制,然而手機制造商並很大程度的看好這款Android操作系統,並將android作為“多操作系統戰略”的必選
做出相應的處理,比如掛掉電話、比如靜音等等。 Demo 分析: 下面通過一個小DEMO 來講解一下廣播在android 中如何編寫,在Demo中我們設置了一個按鈕為