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 烧写方式重启手机

from: http://www.linuxidc.com/Linux/2010-09/28355.htm

更多相关文章

  1. android jni 程序框架搭建
  2. Android(安卓)ListView 去除边缘阴影、选中色、拖动背景色等
  3. android第二行代码总结:二、UI
  4. Android高手进阶教程(五)之----Android(安卓)中LayoutInflater的
  5. Android启动流程分析(二) init进程的启动
  6. 实现底部导航栏中间凸起
  7. Android(安卓)蓝牙4.0代码解析
  8. 通过ant脚本,编译打包android工程
  9. 【Android(安卓)系统开发】 编译 Android文件系统 u-boot 内核

随机推荐

  1. Java程序跑的快,全要靠线程带
  2. 某乎用户学历大曝光:世界500强CEO某乎占49
  3. 号称中国版ins的微博新社交App「绿洲」,上
  4. 2019年苹果发布会:没有5G但更便宜的iPhone
  5. 致死事件大爆发,美国颁布紧急禁令:「电子烟
  6. Java中BIO,NIO,AIO总结
  7. Flash是真的要退役了,一代热门技术就此终
  8. 同为程序员,当你在为996挣扎的时候,00后学
  9. 周杰伦新歌《说好不哭》深夜上线挤崩QQ音
  10. 承认吧,程序员就是比你有钱,又比你会过日子