Android编译源码过程和重点

1. 安装64位Linux

2. 安装Java6
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk

3. 安装Java5
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper main multiverse"
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse"
$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk

4. 切换Java版本
切换到Java6:
$ sudo update-java-alternatives -s java-6-sun
切换到Java5:
$ sudo update-java-alternatives -s java-1.5.0-sun

5. 安装编译android需要的库
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev

6. 安装svn
$ sudo apt-get install subversion

7. 安装vim
$ sudo apt-get install vim

8.  首先要到源码目录下

9.  为源码目录下的所有文件赋予权限

# chmod -R 777 /home/user 注:表示将整个/home/user目录与其中的文件和子目录的权限都设置为rwxrwxrwx

10.  在源码的根目录下执行source  build/envsetup.sh

11.  执行choosecombo命令,在出现的选择按提示选择即可

12.  执行make  sdk编译源码 (大约二三个小时左右,视CPU好坏)

13. 编译好后会整个大小会有几个G的增加,然后在out文件夹中会有几个文件夹和文件出现。证明已经编译成功。

14.新建一个项目:

然后在项目中加入一些权限:

android:sharedUserId="android.uid.system"

<uses-permission android:name="android.permission.INSTALL_PACKAGES"></uses-permission>

       <uses-permission android:name="android.permission.DELETE_PACKAGES"></uses-permission>

       <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA"></uses-permission>

       <uses-permission android:name="android.permission.CLEAR_APP_CACHE"></uses-permission>

 

在程序中的写法:

       Runtime.getRuntime().exec("pm install -r " + " 程序安装的目录结构 ");

 

然后将Android .mk放入项目根目录下,编辑Android.mk,将LOCAL_CERTIFICATE := platform加入其中,然后将该项目放在源码中的packages/apps/目录下。

 

项目需要注意的地方:

1.JAVA类中不能有汉字,需要有汉字的必须是写在String.xml中的。

2.不要有重写的标记。

 

15:编译项目(在JDK1.5环境下进行) 

先在android源码目录下执行
$ . build/envsetup.sh
$ mmm packages/apps/Contacts/  **项目的所在目录**

 

如编译成功,你会在

/out/target/product/generic/system/app/目录下找到你生成的apk

注明:QQ技术交流群:108614806   感兴趣的加一下。

 



 

posted @ 2012-01-18 13:15  志强思密达  阅读(149)  评论(0编辑  收藏  举报