歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android 4.2編譯過程筆記

Android 4.2編譯過程筆記

日期:2017/3/1 9:19:30   编辑:Linux編程

Android 4.2編譯環境的安裝

1.安裝先到官方網站下載一個jdk6的安裝包

http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR

我的系統為Ubuntu12.0464位,對應自己系統下載好了

2.配置jdk

編輯~/.bashrc 添加

export PATH=~/bin:$PATH

export JAVA_HOME=~/bin/jdk1.6.0_45/

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

運行source ~/.bashrc 使之生效

3.按照官網指導

Installing required packages (Ubuntu 12.04)

--------------------------------------------------------------------------------

Building on Ubuntu 12.04 is currently only experimentally supported and is not guaranteed to work on branches other than master.

$ 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 ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

4.編譯代碼

進入源碼根目錄

編譯初始化:

在終端中執行:

source build/envsetup.sh

執行後輸出:

source build/envsetup.sh

including device/asus/grouper/vendorsetup.sh

including device/asus/tilapia/vendorsetup.sh

including device/generic/armv7-a-neon/vendorsetup.sh

including device/generic/armv7-a/vendorsetup.sh

including device/generic/mips/vendorsetup.sh

including device/generic/x86/vendorsetup.sh

including device/samsung/maguro/vendorsetup.sh

including device/samsung/manta/vendorsetup.sh

including device/samsung/toroplus/vendorsetup.sh

including device/samsung/toro/vendorsetup.sh

including device/ti/panda/vendorsetup.sh

including sdk/bash_completion/adb.bash

選擇編譯目標:

lunch full-eng

執行後會又以下信息提示:

============================================

PLATFORM_VERSION_CODENAME=REL

PLATFORM_VERSION=4.2

TARGET_PRODUCT=full

TARGET_BUILD_VARIANT=eng

TARGET_BUILD_TYPE=release

TARGET_BUILD_APPS=

TARGET_ARCH=arm

TARGET_ARCH_VARIANT=armv7-a

HOST_ARCH=x86

HOST_OS=linux

HOST_OS_EXTRA=Linux-2.6.32-45-generic-x86_64-with-Ubuntu-10.04-lucid

HOST_BUILD_TYPE=release

BUILD_ID=JOP40C

OUT_DIR=out

============================================

編譯代碼:

在終端中執行:make -j4

-j4:表示用四個線程來編譯:

我用虛擬機,配置為4g,交換空間為2g,編譯了大約6個小時。

運行模擬器

在終端中執行:emulator

在 ~/.bashrc

添加環境變量:

export ANDROID_PRODUCT_OUT=~/code/android-4.2/out/target/product/generic

export ANDROID_SWT=~/code/android-4.2/out/host/linux-x86/framework/

備注:

重啟系統後:

執行emulator,出現如下錯誤:

emulator: ERROR: You did not specify a virtual device name, and the system

directory could not be found.

If you are an Android SDK user, please use '@<name>' or '-avd <name>'

to start a given virtual device (see -help-avd for details).

Otherwise, follow the instructions in -help-disk-images to start the emulator

解決:

source build/envsetup.sh

lunch sdk-eng

然後再執行

emulator

可以啟動模擬器

Android 6.0百度網盤下載 http://www.linuxidc.com/Linux/2016-01/127285.htm

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved