`
dengbaoleng
  • 浏览: 1133249 次
文章分类
社区版块
存档分类
最新评论

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 感兴趣的加一下。



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics