具有系统权限的Android App(AndroidManifest.xml中设置android:sharedUserId="android.uid.system")需要经过系统签名后才能运行。以下方法三能快速调试开发系统App,其他方法费时费力。

方法一:

        App直接加入系统编译,编译系统过程中完成App编译及系统签名。


方法二:

        使用Eclipse或AS编译,生成的apk再经过系统签名(签名命令:Java -jar signapk.jar platform.x509.pem platform.pk8 A.apk B.apk)即可生成系统apk。


方法三:

        Eclipse导入系统签名文件debug.keystore,直接编译生成系统apk。具体实现如下:


1、android 源码目录build\target\product\security 取platform.pk8 platform.x509.pem放到一个目录下

2、生成shared.priv.pem,命令如下:

openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out shared.priv.pem -nocrypt

3、生成pkcs12,命令如下:

openssl pkcs12 -export -in platform.x509.pem -inkey shared.priv.pem -out shared.pk12 -name androiddebugkey


Enter Export Password: (输入密码android,默认是android,如是自己制作的key,输入对应的密码)
Verifying - Enter Export Password:(输入密码android)


4、生成debug.keystore,命令如下:

keytool -importkeystore -deststorepass android -destkeypass android -destkeystore debug.keystore -srckeystore shared.pk12 -srcstoretype PKCS12 -srcstorepass android -alias androiddebugkey

 

5、Eclipse的Windows/Preferences/Android/Build中设置"Custom debug keystore"为刚才生成的debug.keystore,即可实现直接调试系统App。


附:Ubuntu安装openssl,命令如下:

apt-get update

apt-get install openssl

apt-get install libssl-dev

更多相关文章

  1. GitHub 标星 2.5K+!教你通过玩游戏的方式学习 VIM!
  2. 如何在后台运行Linux命令?
  3. No.11 使用firewall配置的防火墙策略的生效模式
  4. Nginx系列教程(六)| 手把手教你搭建 LNMP 架构并部署天空网络电影
  5. android仿iPhone滚轮控件实现及源码分析(一)
  6. Android优化——绘制优化之android系统显示原理(一)
  7. 利用ADB固定Android手机的CPU频率
  8. Android(安卓)Activity的生命周期详细介绍
  9. Android横竖屏解析

随机推荐

  1. Android 获取当前进程
  2. android隐藏底部虚拟键Navigation Bar实
  3. android 中遇到的空指针异常
  4. Android中设置146种颜色相对应的xml值
  5. Android(安卓)序列化对象接口Parcelable
  6. android之SeekBar控件用法
  7. Android Hal 分析
  8. android识别 单击和双击事件
  9. Android之SimpleAdapter的使用
  10. Android(安卓)Studio中编码(乱码)问题的解