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 -jarsignapk.jarplatform.x509.pem platform.pk8 input.apk output.apk",

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

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

4、获得安装权限

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

5、重安装新的apk

adb install -rSettings-signed.apk

用绝对路径。

等一会就OK了

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

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

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

adb install -rSettings-signed.apk

更多相关文章

  1. Android文件浏览器的开发
  2. android布局文件中的include
  3. Android上传文件到Web服务器,PHP接收文件(二)
  4. 新建android工程 没有R.java文件
  5. Android短彩信源码解析-短信发送流程(二)
  6. Android 读取 assets目录下的文件

随机推荐

  1. Android开发工程师 iOS开发工程师正在招
  2. Android初步
  3. Android(安卓)快速开发框架:推荐10个框架
  4. Android Handler 用法
  5. Android清除所有应用的缓存(包括系统应用
  6. Android 开发之旅:view的几种布局方式及实
  7. Android涂鸦技术及刮刮乐示例分析
  8. Android(安卓)属性动画实战
  9. Android消息通信之无所不能的第三方开源
  10. Android中shape定义控件的使用