Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19014
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 45
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-08 22:27
文章分类
文章存档

2012年(7)

我的朋友
最近访客

分类:

2012-04-17 01:02:38


1、 查看AndroidManifest.xml中的manifest节点中属性,比如:

  android:sharedUserId="android.uid.system"

  android:sharedUserId="android.uid.shared"等

 

2、查看Android.mk,找出需要的库文件,比如:

 LOCAL_STATIC_JAVA_LIBRARIES := com.android.phone.common

在源码下找到out/target/common/obj/JAVA_LIBRARIES/com.android.phone.common_intermediates/classes.jar

,加入工程,其他需要的库也加入,知道编译正确。使用eclipse编译出apk文件,但是这个apk文件是不能用的。

 

3、使用目标系统的platform密钥来重新给apk文件签名。这步比较麻烦,

  首先找到密钥文件,在我的Android源码目录中的位置

  是"build\target\product\security",如果android:sharedUserId="android.uid.system",公匙密匙分别是platform.pk8和platform.x509.pem两个文件,其他类似。

  然后用Android提供的Signapk工具来签名,signapk.jar在out/host/linux-x86/framework下

  用法为"java -jar signapk.jar  platform.x509.pem platform.pk8 input.apk output.apk",

例如:java -jar signapk.jar platform.x509.pem platform.pk8  Settings.apk Settings-signed.apk

  文件名最好使用绝对路径防止找不到,input.apk和output.apk不要相同,会报错

 

4、获得安装权限

adb shell mount -oremount,rw /dev/block/mtdblock3 /system

 

5、重安装新的apk

adb install -r Settings-signed.apk

用绝对路径。

等一会就OK了

 

6、可以用Eclipse实现断电、单步调试。

 

如果是linux下直接mmm模块编译,然后执行两步:

adb shell mount -oremount,rw /dev/block/mtdblock3 /system

adb install -r Settings-signed.apk

也可单步调试,有空再写

阅读(1777) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~