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