在Ubuntu 10.04下编译Android源码

1. 编译环境建立

1)安装sun-java6-jdk:android使用java5编译,但是ubuntu10.04的更新源里已经没有sun-java6-jdk。我们可以更改android配置文件使用java6编译,经过试验可以通过。如下:

10.04当中sun-jdk被移走了。android x86用的是sun-jdk,于是在官方的release notes:

Sun Java moved to the Partner repository

For Ubuntu 10.04 LTS, the sun-java6 packages have been dropped from the Multiverse section of the Ubuntu archive. It is recommended that you use openjdk-6 instead.

If you can not switch from the proprietary Sun JDK/JRE to OpenJDK, you can install sun-java6 packages from the Canonical Partner Repository. You can configure your system to use this repository via command-line:

add-apt-repository "debhttp://archive.canonical.com/lucid partner"

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

于是:

$ sudo add-apt-repository "debhttp://archive.canonical.com/lucid partner"

$ sudo apt-get update

$ sudo apt-get install sun-java6-jdk

2)其他的开发库和环境

# sudo apt-get install flex bison zlib1g-dev gperf libncurses5-dev

# sudo apt-get install libx11-dev

3)ubuntu 10用的是gcc4.4,需要用gcc4.3来编译。降级过程如下:

首先apt-get install gcc-4.3 g++-4.3

然後刪掉原本的連結

sudo rm /usr/bin/gcc

sudo rm /usr/bin/g++

在加到剛剛裝的

sudo ln -s /usr/bin/gcc-4.3 /usr/bin/gcc

sudo ln -s /usr/bin/g++-4.3 /usr/bin/g++

2.编译代码

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

全编译

$ cd

$ source build/envsetup.sh

$ choosecombo 1 1 msm7201a_surf (msm7627_ffa) eng 或者 choosecombo 1 1 7 3 ----注:各个数字代表不同的含义,编译的时候注意下,比如3这里代表的是语言

$ make -j4

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

$sudo su

$ source build/envsetup.sh

$ choosecombo 1 1 msm7201a_surf (msm7627_ffa) eng 或者 choosecombo 1 1 7 3  ----注:如上

$adb reboot-bootloader

$adb kill-server

$cd out/target/product/cd msm7627_ffa/system/app

修改framwork层编译

$fastboot flash system system.img

$fastboot reboot

修改package中的应用

$adb push ...apk /system/app

猜你喜欢

转载自blog.csdn.net/xu13879531489/article/details/80565549