Ubuntu – Android源碼編譯

來源:互聯網
上載者:User

Ubuntu版本:10.04-x64 / 12.04-x64

Andorid版本:4.2.1_r1 / 4.2.2_r1


配置Android下載環境

安裝jdk(解壓+環境配置)

sudo mkdir /usr/lib/jvm

sudo cp ~/Downloads/jdk-6u45-linux-x64.bin /usr/lib/jvm

cd  /usr/lib/jvm

chmod u+x jdk-6u45-linux-x64.bin

sudo ./jdk-6u45-linux-x64.bin

sudo rm jdk-6u45-linux-x64.bin

sudo gedit /etc/profile

末尾添加:

# set oracle jdk environment
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

source /etc/profile


安裝依賴包:

sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
  x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
  libxml2-utils xsltproc

(12.04

sudo apt-get install git gnupg flex bison gperf build-essential \  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \  libgl1-mesa-dev g++-multilib mingw32 tofrodos \  python-markdown libxml2-utils xsltproc zlib1g-dev:i386

提示依賴包出錯,解決:

sudo apt-get install 依賴包名

再執行一次之前的install

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

下載Android源碼:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
repo init -u https://android.googlesource.com/platform/manifest -b android-4.2.1_r1
repo sync        (這步對網速要求高,大概要下載個8G,而且伺服器經常unreachable,碰到這種情況就手動中斷再次執行命令吧)

(可能要求升級git:

升級git:

sudo apt-add-repository ppa:git-core/ppa 
sudo apt-get update
sudo apt-get install git

配置git(不配置的話repo也會要求配置的):

git config --global user.email "your email"

git config --global user.name "your name"

)

設定Ccach:

(Ccach可以加速重編譯)

gedit ~/.bashrc

添加:

# set android complition ccache

export USE_CCACHE=1

export CCACHE_DIR=<path-to-your-cache-directory>    (可選,預設位置為~/.ccach)

source ~/.bashrc

在android源碼目錄下執行:

prebuilts/misc/linux-x86/ccache/ccache -M 50G    (這個我沒設,不知道預設大小是多大)


編譯運行:

source build/envsetup.sh
lunch full-eng
make -j4   (j幾看你電腦CPU能同時跑幾個線程)

emulator



修改環境變數:
gedit ~/.bashrc
source ~/.bashrc
進入編譯好的Android檔案夾:
cd WO*
source build/envsetup.sh
lunch full-eng

emulator

gdb調試:
adb forward tcp:5039 tcp:5039
adb shell ps
adb shell gdbserver :5039 --attach 787
export PATH=/home/fsz/WORKING_DIRECTORY/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6:$PATH
export PATH=/home/fsz/WORKING_DIRECTORY/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6:$PATH
/home/fsz/WORKING_DIRECTORY/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin
set solib-absolute-prefix /home/fsz/WORKING_DIRECTORY/out/target/product/generic
set solib-search-path /home/fsz/WORKING_DIRECTORY/out/target/product/generic/symbols/system

問題:

make -j4 後:find src' no such file or directory android

解決方案:

make clean
make -j4


查看系統內容命令:env

http://blog.csdn.net/gexueyuan/article/details/7772387


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.