关于系统签名的问题
2016-07-11 16:25
309 查看
工作中需要用到两个功能,静默安装和重启。
这两个功能需要用到系统权限,我的解决方法如下:
1、向开发系统的同学要到系统的签名文件 platform.pk8和platform.x509.pem
2、下载signapk.jar
3、在AndroidManifest.xml中加入 android:sharedUserId="android.uid.system"
4、把需要签名的apk文件的后缀名.apk修改为.zip
5、打开(双击)该zip文件,删除META-INF文件夹中的内容
6、执行签名命令,把这个zip文件直接进行签名。
java -jar signapk.jar platform.x509.pem platform.pk8 un_signed.zip my_signed.apk
注,代码中用到的静默安装和重启功能就是adb命令
这两个功能需要用到系统权限,我的解决方法如下:
1、向开发系统的同学要到系统的签名文件 platform.pk8和platform.x509.pem
2、下载signapk.jar
3、在AndroidManifest.xml中加入 android:sharedUserId="android.uid.system"
4、把需要签名的apk文件的后缀名.apk修改为.zip
5、打开(双击)该zip文件,删除META-INF文件夹中的内容
6、执行签名命令,把这个zip文件直接进行签名。
java -jar signapk.jar platform.x509.pem platform.pk8 un_signed.zip my_signed.apk
注,代码中用到的静默安装和重启功能就是adb命令
try { logcatProc = Runtime.getRuntime().exec("pm install -r /sdcard/UpdateAPK/newApk/"+downLoadResults[2]);//downLoadResults[2]为apk的名称 InputStream is = logcatProc.getInputStream(); InputStreamReader inputStr = new InputStreamReader(is); BufferedReader br = new BufferedReader(inputStr); String temp = ""; boolean isOk = false; while ((temp = br.readLine()) != null) { System.out.println(temp); if (temp.contains("Success")) { isOk = true; break; } }
// 重启设备 logcatProc = Runtime.getRuntime().exec("reboot");
相关文章推荐
- C#创建自签名认证文件的方法
- .Net下的签名与混淆图文分析
- C#自定义签名章实现方法
- 给ActiveX签名的实现方法详解
- Eclipse导出安卓apk文件的图文教程
- 如何安装系统认证签名过的APK
- jarsigner重新签名apk无法安装的解决方法
- Android签名知识小结
- Android应用程序签名步骤及相关知识介绍
- Android 给空白包签名并上传审核
- Android的APK应用签名机制以及读取签名的方法
- Android实现获取签名及公钥的方法
- PHP下SSL加密解密、验证、签名方法(很简单)
- Java使用DSA密钥对生成XML签名的方法
- Android APK使用Debug签名重新打包 Eclipse更改默认Debug签名
- 给Android的APK程序签名和重新签名的方法
- Android签名机制介绍:生成keystore、签名、查看签名信息等方法
- Eclipse下配置Ant脚本并自动打包带签名的Android apk
- 《捷哥浅谈Drupal》第四弹之配置–用户配置详解
- nwjs mac app签名