編輯:關於Android編程
現在的Android應用開發開源項目感覺就像春秋戰國時期,各種思想雨後春筍,百花齊放,如算法,如圖形,如數據庫,如網絡協議,林林總總、煞是好看,Github也成為了開源者及受益者的樂園,現在我們就跟隨開源的腳步,追隨耀眼的明星,站在巨人的肩膀上,開啟我們的成長之路吧。
Android源碼的開源,也是最大的開源了,當然有人會說是開放不是開源, 這個我們就不要計較了,能下載到我們需要的系統代碼,已經很不錯了。Android的源碼下載編譯對於初學者還是很頭疼的, 我們就從這裡開始吧。
我這裡選的版本是7.1.5 build-491717 、ubuntu-11.04-desktop-i386
本來呢, 選擇的是4.4.1版本的源碼,但是源碼實在太大,都超過了我設定的虛擬機硬盤50G,果斷放棄了,估計編譯也得花很長時間。後來就選擇了2.3.1版本的源碼,下載源碼之前首先要做一些准備工作
買一個穩定的VPN,這是下載源碼和所需軟件
安裝Git工具
sudo apt-get install git-core gnupg
安裝Jdk
下面的增加、更新軟件源的命令經常用到
sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
安裝
sudo apt-get install sun-java6-jre sun-java6-plugin
sudo apt-get install sun-java6-jdk
下載repo,並設置權限
wget https://dl-ssl.google.com/dl/googlesource/git-repo/repo
chmod 777 repo
cp repo /bin/
創建一個Android的文件夾,並切換到它目錄下
mkdir Android
cd Android
默認是下載最新版
repo init -u www.2cto.com
我是指定了2.3.1的版本分支
repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.1_r1
接著就是下載了
repo sync
下載是個很漫長的過程,得網速穩定,能翻牆,大致需要2~3天吧,總大小有4~5G吧,速度快的話,可能還不要那麼長時間
好了, 下載完的樣子就如下圖
Make
當下載完,不要以為就結束了, 問題才剛剛開始, 呵呵。 為什麼這樣說呢, 因為編譯的時候會遇到各式各樣的問題, 主要是2方面:
提示錯誤信息 You are attempting to build on a 32-bit system.
這裡把檢查是不是64位的腳本注釋掉就行了
修改build/core目錄下的main.mk文件:
ifeq ($(BUILD_OS),linux)
build_arch := $(shell uname -m)
#Change the following line for building on a 32-bit system.
#ifneq (64,$(findstring 64,$(build_arch)))
#$(warning************************************************)
#$(warning You are attempting to build on a 32-bit system.)
找到下列文件,也同時注釋掉:
/external/clearsilver/cgi/Android.mk
/external/clearsilver/cs/Android.mk
/external/clearsilver/java-jni/Android.mk
/external/clearsilver/util/Android.mk
修改LOCAL_CFLAGS和LOCAL_LDFLAGS變量:
# This forces a 64-bit build for Java6
# Change the following two lines for building on a 32-bit system.
# LOCAL_CFLAGS += -m64
# LOCAL_LDFLAGS += -m64
第二個出現的問題就是各種軟件沒有安裝的問題
所以最好編譯前安裝好這些軟件, 否則編譯大半天出了問題還得,重頭再來,那叫一個桑心啊。
sudo apt-get install bison
sudo apt-get install bison flex
sudo apt-get install zlib-devel
sudo apt-get install libncurses5-dev
sudo apt-get install libx11-dev
sudo apt-get install gperf
對於其他相似問題, 就百度一下看看缺少哪個,然後執行一下就好了,假如找不到這個,就的找找他在哪個源裡面了, 把他添加到我們的軟件源文件裡面,然後再次初始化。
好了,下面就是Make成功後輸出的消息,看著是不是很激動,呵呵
這一步就簡單多了,把我們編譯後的輸出bin添加到環境變量
export PATH=$PATH:~/Android/out/host/linux-x86/bin
export ANDROID_PRODUCT_OUT=~/Android/out/target/product/generic
運行emulator
emulator
下面就是我們期待已久的界面了,看到這個,前面的付出也算得到回報了
PS:編輯文字真麻煩, world過來各種樣式都沒了,也不支持離線編輯,哎。
由於目前從事android開發工作,所以升級了下Android SDK和eclipse ADT插件 一、更新ADT Install New Softwar
APP的測試重點小部分在APP本身,大部分還是在網絡通信上(單機版除外)。所以在安卓APP測試過程中,網絡抓包非常重要,一般來說,app開發會采用HTTP協議、Webso
由於研究生畢業項目需要完成一個基於移動終端的場景文字識別系統,雖然離畢業尚早,但出於興趣的緣故,近一段抽時間完成了這樣一套系統。基本的架構如下: 客戶端:
應用進程保活基本就是圍繞兩個方面來展開:1 盡量保證進程不被殺死。2 進程被殺死後復活。細分如下:1)Service重啟2)進程守護3)Receiver觸發4)Alarm