修改android公共控件和后台服务
2009-11-09 13:15
267 查看
1. 位置
公共控件的代码在源码目录android/frameworks/base/core/java/android/中
后台服务的代码在源码目录android/frameworks/base/services/java/android/server中
2. 修改
修改其中代码并执行mm编译
形如:
$ cd frameworks/base/services/java/com/android/server/
$ vi IntentResolver.java
$ mm
3. 替换
编译后用生成的包替换手机上/system/framework/中相应的包
编译后生成的文件见提示
形如:
$ cd out/target/product/general/system/framework/
$ adb push services.jar /system/framework/
4. 使新的包生效
a) 方法1:
重启手机后生效
b) 方法2:
杀死system_server进程,使系统重新启动,这种方法速度快
$ ps
找到system_server对应的pid, 假设它为1219
$ kill 1219
5. 注意
a) 绝大多数情况下都能成功,不过最好在替换前备份原有jar包
b) 如果替换重要的包使机器不能启动到桌面了,可以通过重新打包system.img,然后重新烧写(fastboot)到系统中解决此问题,注意system.img的大小
$ ./out/host/linux-x86/bin/mkyaffs2image -f out/target/product/generic/system out/target/product/generic/obj/PACKAGING/systemimage_unopt_intermediates/system.img
$ out/host/linux-x86/bin/acp -fpt out/target/product/generic/obj/PACKAGING/systemimage_unopt_intermediates/system.img out/target product/generic/system.img
$ fastboot flash system system.img
此时用fastboot烧写方式重启手机
公共控件的代码在源码目录android/frameworks/base/core/java/android/中
后台服务的代码在源码目录android/frameworks/base/services/java/android/server中
2. 修改
修改其中代码并执行mm编译
形如:
$ cd frameworks/base/services/java/com/android/server/
$ vi IntentResolver.java
$ mm
3. 替换
编译后用生成的包替换手机上/system/framework/中相应的包
编译后生成的文件见提示
形如:
$ cd out/target/product/general/system/framework/
$ adb push services.jar /system/framework/
4. 使新的包生效
a) 方法1:
重启手机后生效
b) 方法2:
杀死system_server进程,使系统重新启动,这种方法速度快
$ ps
找到system_server对应的pid, 假设它为1219
$ kill 1219
5. 注意
a) 绝大多数情况下都能成功,不过最好在替换前备份原有jar包
b) 如果替换重要的包使机器不能启动到桌面了,可以通过重新打包system.img,然后重新烧写(fastboot)到系统中解决此问题,注意system.img的大小
$ ./out/host/linux-x86/bin/mkyaffs2image -f out/target/product/generic/system out/target/product/generic/obj/PACKAGING/systemimage_unopt_intermediates/system.img
$ out/host/linux-x86/bin/acp -fpt out/target/product/generic/obj/PACKAGING/systemimage_unopt_intermediates/system.img out/target product/generic/system.img
$ fastboot flash system system.img
此时用fastboot烧写方式重启手机
相关文章推荐
- Android后台云端服务Bmob导入大坑
- 修改Android文件选择器开源控件aFileChooser 增加多选功能
- Android SERVICE后台服务进程的守护
- Android游戏开发系列教程第五讲(后台服务)
- Android开机自启动后台服务-RECEIVE_BOOT_COMPLETED
- Android-自定義控件使用(方便修改控件的風格,只修改布局文件)
- 【Android】7.1 布局控件常用的公共属性
- Android移动后端服务(BAAS)快速搭建后台服务器之Bmob-android学习之旅(75)
- Android开发中后台的Service服务探索
- Android实现TCP断点上传,后台C#服务实现接收
- Android官方开发文档Training系列课程中文版:后台服务之响应IntentService的处理结果
- Android SERVICE后台服务进程的自启动和保持
- Android SERVICE后台服务进程的自启动和保持
- android service后台服务进程的自启动和保持
- Android判断后台服务的开启状态
- android 实现后台服务及源码下载
- Apache CXF 的REST 方式发布WebService实现,Android手机后台服务的开发
- gridview 实现排序 (在不是使用sqlDataSource控件,而在后台编码绑定gridview时,指定那个字段排序时使用。本例用了单层结构,可修改后应用于多层)
- 半转载半总结:Activity管理---Android之后台服务判断本应用Activity是否处于栈顶