android4.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.

<code style="line-height:14px"><span class="pln" style="color:#000000;">$ sudo apt</span><span class="pun" style="color:#66660;">-</span><span class="kwd" style="color:#0088;">get</span><span class="pln" style="color:#000000;"> install git gnupg flex bison gperf build</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">essential </span><span class="pun" style="color:#66660;">\</span><span class="pln" style="color:#000000;">
  zip curl libc6</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">dev libncurses5</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">dev</span><span class="pun" style="color:#66660;">:</span><span class="pln" style="color:#000000;">i386 x11proto</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">core</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">dev </span><span class="pun" style="color:#66660;">\</span><span class="pln" style="color:#000000;">
  libx11</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">dev</span><span class="pun" style="color:#66660;">:</span><span class="pln" style="color:#000000;">i386 libreadline6</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">dev</span><span class="pun" style="color:#66660;">:</span><span class="pln" style="color:#000000;">i386 libgl1</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">mesa</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">glx</span><span class="pun" style="color:#66660;">:</span><span class="pln" style="color:#000000;">i386 </span><span class="pun" style="color:#66660;">\</span><span class="pln" style="color:#000000;">
  libgl1</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">mesa</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">dev g</span><span class="pun" style="color:#66660;">++-</span><span class="pln" style="color:#000000;">multilib mingw32 tofrodos </span><span class="pun" style="color:#66660;">\</span><span class="pln" style="color:#000000;">
  python</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">markdown libxml2</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">utils xsltproc zlib1g</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">dev</span><span class="pun" style="color:#66660;">:</span><span class="pln" style="color:#000000;">i386
$ sudo ln </span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">s </span><span class="pun" style="color:#66660;">/</span><span class="pln" style="color:#000000;">usr</span><span class="pun" style="color:#66660;">/</span><span class="pln" style="color:#000000;">lib</span><span class="pun" style="color:#66660;">/</span><span class="pln" style="color:#000000;">i386</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">linux</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">gnu</span><span class="pun" style="color:#66660;">/</span><span class="pln" style="color:#000000;">mesa</span><span class="pun" style="color:#66660;">/</span><span class="pln" style="color:#000000;">libGL</span><span class="pun" style="color:#66660;">.</span><span class="pln" style="color:#000000;">so</span><span class="pun" style="color:#66660;">.</span><span class="lit" style="color:#06666;">1</span><span class="pln" style="color:#000000;"> </span><span class="pun" style="color:#66660;">/</span><span class="pln" style="color:#000000;">usr</span><span class="pun" style="color:#66660;">/</span><span class="pln" style="color:#000000;">lib</span><span class="pun" style="color:#66660;">/</span><span class="pln" style="color:#000000;">i386</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">linux</span><span class="pun" style="color:#66660;">-</span><span class="pln" style="color:#000000;">gnu</span><span class="pun" style="color:#66660;">/</span><span class="pln" style="color:#000000;">libGL</span><span class="pun" style="color:#66660;">.</span><span class="pln" style="color:#000000;">so</span></code>

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

可以启动模拟器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值