Sunday, May 10, 2009

fedora 9 编译 Android

android
    主站:http://www.android.com/
    application develop based on the platform: http://developer.android.com/
    platform develop:http://source.android.com/  


源代码的下载说明页面是:http://source.android.com/download
最新的release:Release features


(1) 配置repo账户
git config --global user.email "xxxxx@xxxxxxx"
git config --global user.name "xxxxxx"

(2)开始准备下载android
cd ~/work/android_dev
mkdir mydroid
cd mydroid
../bin/repo init -u git://android.git.kernel.org/platform/manifest.git -b android-1.5

(3)开始下载android platform的源代码
repo sync
这个操作会持续一段时间,看网速了,只有800M左右。

(4)编译
make
我这边编译时间在一小时以上
编译完毕以后,会发现在代码目录下多了一个目录:
~/work/android_dev/mydroid/out

如果报错:
which: no javac in (/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin:/opt/real/RealPlayer:/home/dybbuk/bin:/sbin/:/usr/sbin/:/opt/real/RealPlayer)
 则说明你没有安装 jdk 5.0..  去 http://java.sun.com/javase/downloads/5/jdk  下载 jdk  安装后,  设置环境变量:
export ANDROID_JAVA_HOME=/usr/java/jdk1.5.0_18
export PATH=/usr/java/jdk1.5.0_18/bin:$PATH

(5)开始验证生成的结果
export ANDROID_PRODUCT_OUT=~/work/android_dev/mydroid/out/target/product/generic
~/work/android_dev/mydroid/out/host/linux-x86/bin/emulator
应该看到开机的画面(第一次开启的时候,应该还有一个向google反馈的一个对话框,按下确定即可)。


paltform source layout:
Project
    Description
bionic
    C runtime: libc, libm, libdl, dynamic linker
bootloader/legacy
    Bootloader reference code
build
    Build system
dalvik
    Dalvik virtual machine
development
    High-level development and debugging tools
frameworks/base
    Core Android app framework libraries
frameworks/policies/base
    Framework configuration policies
hardware/libhardware
    Hardware abstraction library
hardware/ril
    Radio interface layer
kernel
    Linux kernel
prebuilt     Binaries to support Linux and Mac OS builds
recovery
    System recovery environment
system/bluetooth
    Bluetooth tools
system/core     Minimal bootable environment
system/extras
    Low-level debugging/inspection tools
system/wlan/ti     TI 1251 WLAN driver and tools

===============================================
kernel
===============================================
下载的kernel为manifest 的kernel
用于模拟器的板型为goldfish,所以要编译kernel需要把kernel切换到 goldfish 的分支.
[dybbuk@localhost kernel]$ git branch -r
  korg/android-2.6.25
  korg/android-2.6.27
  korg/android-2.6.29
  korg/android-goldfish-2.6.27
  korg/android-goldfish-2.6.29
  m/android-1.5
  m/master
[dybbuk@localhost kernel]$ git checkout korg/android-goldfish-2.6.29
toolchain:
直接用android里自带的:
 export PATH=/home/dybbuk/work/android_dev/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin:$PATH
make ARCH=arm CROSS_COMPILE=arm-eabi- goldfish_defconfig
make ARCH=arm CROSS_COMPILE=arm-eabi-
即可生成emulator所用的zImage

3 comments:

aaron's fun said...

Hi, 我用Fedora 9 来编译android的source。不知道为什么不行呢?

已经有java1.5.
还有其他条件吗?

chenlina said...

chenlina20150720
jordan 6
ray ban eyeglasses
hollister
www.louisvuitton.com
christian louboutin shoes
abercrombie store
celine
jordan 6s
mont blanc pens
michael kors outlet
michael kors outlet
gucci bags
chanel outlet
oakley sunglasses
longchamp handbags
chi flat iron
louis vuitton outlet
louis vuitton outlet
christian louboutin outlet
true religion jeans
abercrombie and fitch
abercrombie & fitch
air max 90
ray ban sungalss
jordan 8s
hollister clothing store
christian louboutin outlet
louis vuitton outlet
gucci outlet online
christian louboutin sale
louis vuitton outlet
louis vuitton
michael kors
coach factorty outlet
jordan 5
fendi
longchamp handbags
lululemon sale
jordan retro 4
abercrombie

chenlina said...

chenlina20150720
jordan 6
ray ban eyeglasses
hollister
www.louisvuitton.com
christian louboutin shoes
abercrombie store
celine
jordan 6s
mont blanc pens
michael kors outlet
michael kors outlet
gucci bags
chanel outlet
oakley sunglasses
longchamp handbags
chi flat iron
louis vuitton outlet
louis vuitton outlet
christian louboutin outlet
true religion jeans
abercrombie and fitch
abercrombie & fitch
air max 90
ray ban sungalss
jordan 8s
hollister clothing store
christian louboutin outlet
louis vuitton outlet
gucci outlet online
christian louboutin sale
louis vuitton outlet
louis vuitton
michael kors
coach factorty outlet
jordan 5
fendi
longchamp handbags
lululemon sale
jordan retro 4
abercrombie