本帖最后由 456838 于 2013-2-17 21:19 编辑
01-基本环境
很多朋友都喜欢定制属于自己个性化的基于android衍生的系统(miui,ligux,点心…),但是他们并不是很熟悉需要的环境都有什么!这里把环境给实例化一下,就是需要一系列的工具:其中有java开发工具,反编译工具,厨房工具,对比工具,bug捕捉工具等比较集中需要的东西。当然,更深层次的是linux操作系统,使用github,源码下载以及编译,这里特别需要建议大家的是下载一份源码,因为你遇到什么不懂的,都可以在源码里面找到相类似的!
当然我不可能一下子把所有的东西都给一下讲清楚,我也没有这个技术!小巫还是一个大二的学生,学习的知识还是很皮毛的!通过和大家一起学习的过程中不断的增长自己。。呵呵,让大家见笑了!
由于技术要求不同,我们的环境也是分开来说的! 下面我们先来最简单的吧!就自己的刷机包做修改。需要用到的工具不是很多哦、!!对比工具(Beyond Compare),和winrar(也可以是360解压),还有一个文本编辑器(本人使用的是notepad++,千万不要使用Windows自带的记事本,因为有些文本格式它不支持,最终会给你带来初级的错误,这中错误往往是你无法检查出来的!!!)
·à下面的例子示范了怎样通过对比加入外置程序( /data/app)到刷机包中
需要修改的文件就是位于META-INF\com\google\android\updater-script中(如图所示)
通过对比我们就可以知道要增加外置程序,需要的几句必要的“代码”,
mount("MTD", "userdata", "/data");
package_extract_dir("data", "/data");
set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");
但是我们一般不是这样做的,我们一般是将
mount("ext4", "EMMC", "/dev/block/mmcblk0p28", "/data");
package_extract_dir("data", "/data");
set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");
这样的做法可以避免一些错误,但是也有一定的不好!因为你必须知道/data的挂载点。
关于怎么获得机型相应的挂载点我会在后面给大家详细讲解的!!
经过上面的做法你就可以在你的刷机包的data\app文件夹中加入apk程序了,你的系统就可以集成外置程序了!!
课外知识:
·à加入内置程序(/system/app/),不仅仅要把apk文件加入到/system/app/目录下,还需要把apk文件相对应的.so文件也加进去。
(由于apk文件也可以看作一个压缩包,部分apk文件解压后看到里面有个lib目录,里面有相应的so文件)。需要把so文件加入到\system\lib\目录中
如有说的不对的地方,欢迎各位指出。谢谢大家!!
|