好久都没有更新博客了,把ubuntu9.10下的编译源码的步骤写下来,方便以后的查阅:
sudo apt-get install git-core curl
sudo apt-get install gcc g++ flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind
加上jdk5的源,ubuntu9.10默认是没有jdk5的源的
加载JDK的环境变量:
创建一个存放Andorid的目录,然后在里面建个bin的目录。
然后在Android目录下创建一个源码的保存目录,我的名字为androidsrc。
mkdir androidsrc
cd androidsrc
../bin/repo init -u git://android.git.kernel.org/platform/manifest.git
进行设置完成后,开始同步代码
../bin/repo sync
加载android 环境变量:
源码编译:
下载完后进入androidsrc目录,make,编译源码,编译SDK是make sdk
启动模拟器:
进入androidsrc目录下,输入命令:emulator
模块编译:
先在androidsrc目录下执行:. build/envsetup.sh(必须)
mmm packages/apps/Contacts/编译 Contacts
目录out/target/product/generic/system/app/Contacts.apk
为了可以直接测试改动,需要生成新的system.img,在android目录下执行:
make snod(androidsrc目录下)
当然,如果你改动的是emulator或者其它外围相关的,而非系统内部的东西,就不只是要重新生成system.img了
sudo apt-get install git-core curl
sudo apt-get install gcc g++ flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind
ubuntu9.04是libsdl-dev
加上jdk5的源,ubuntu9.10默认是没有jdk5的源的
deb http://run.hit.edu.cn/ubuntu/ jaunty main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ jaunty-updates main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty-updates main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ jaunty-backports main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty-backports main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ jaunty-security main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty-security main restricted universe multiverse
update之后,用sudo apt-get install sun-java5-jdk
加载JDK的环境变量:
sudo gedit /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-5-sun
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
创建一个存放Andorid的目录,然后在里面建个bin的目录。
mkdir android
cd android
mkdir bin
cd bin
curl http://android.git.kernel.org/repo > repo
sudo chmod a+x repo//修改权限
cd ..//返回上一层:返回到android目录下
然后在Android目录下创建一个源码的保存目录,我的名字为androidsrc。
mkdir androidsrc
cd androidsrc
../bin/repo init -u git://android.git.kernel.org/platform/manifest.git
进行设置完成后,开始同步代码
../bin/repo sync
加载android 环境变量:
sudo gedit /etc/profile
export ANDROID_JAVA_HOME=$JAVA_HOME
export PATH=$PATH:/home/heji/android/androidsrc/out/host/linux-x86/bin
export ANDROID_PRODUCT_OUT=/home/heji/android/androidsrc/out/target/product/generic
sudo gedit /home/heji/.bashrc
export PATH=$PATH:~/android/androidsrc/out/host/linux-x86/bin
export ANDROID_PRODUCT_OUT=~/android/androidsrc/out/target/product/generic
源码编译:
下载完后进入androidsrc目录,make,编译源码,编译SDK是make sdk
启动模拟器:
进入androidsrc目录下,输入命令:emulator
模块编译:
先在androidsrc目录下执行:. build/envsetup.sh(必须)
mmm packages/apps/Contacts/编译 Contacts
目录out/target/product/generic/system/app/Contacts.apk
为了可以直接测试改动,需要生成新的system.img,在android目录下执行:
make snod(androidsrc目录下)
当然,如果你改动的是emulator或者其它外围相关的,而非系统内部的东西,就不只是要重新生成system.img了
真机调试:mmm packages/apps/xxxxx/;adb push out/target/product/generic/system/app/xxxx.apk system/app
目前在看Contacts的源码,研究完再写一份详细的文档贴上来……