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. 箭头函数的基础使用
  2. NPM 和webpack 的基础使用
  3. Python list sort方法的具体使用
  4. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  5. android 内存使用
  6. android aidl
  7. Android初始化语言 (init.*.rc、init.conf文件格式)
  8. 关于cocos2dx的eclipse的"serializing cdt project settings"解
  9. android adb 通过adb连接制定设备

随机推荐

  1. Android错误处理——Android读取txt文件
  2. Android(安卓)消息机制 进程调度问题
  3. Android(安卓)volley的源码实现原理
  4. Eclipse集成NDK
  5. EditText的常用点,输入控制(包含inputType)
  6. mac下安装配置android studio
  7. Android开发6:日志信息输出
  8. Android(安卓)Context上下文理解
  9. android install faild insufficient sto
  10. Android(安卓)Material Design之TextInpu