默认安装另一个子apk的笔记

想要做到静默安装,其实就是要有权限执行pm install命令。准备工作其实就两步:
1、获取执行权限
2、执行命令
 
我们首先介绍第二步,如何执行pm install命令:
关键代码其实就一句:
Runtime.getRuntime().exec("pm install xxx.apk");
 
网上也有人提到利用BufferReader读取控制台的输出Success来判断是否安装成功,但我始终没有抓到最后输出的那一句Success,只好用Package install的receiver来处理安装成功后的操作。
 
再回到如何获取权限的方法,
 
1、首先,我们要做的就是从Android的系统源码的/build/target/product/security目录中,找到两个签名文件: platform.x509.pem和platform.pk8
 
2、在/build/tools/signapk目录下找到signapk.jar文件的源码,编译成signapk.jar文件
 
3、然后在Android项目的manifest.xml文件中,加上INSTALL_PACKAGES的权限。
 
4、导出apk文件,这里选择签名文件导出。右键项目->"Android Tools"->"Export Signed application Package..."
 
 
 
5、最后就是执行
jar signapk.jar platform.x509.pem platform.pk8 签名的apk  目标文件.apk
 
由此生成的目标文件apk就可以正常安装在Android中,并可以静默安装任意指定的apk文件了。
 

文中所需的三个文件下载

signapk.jar

platform.x509.pem

platform.pk8

 原文出处:http://www.cnblogs.com/brucenan/archive/2012/10/04/2711817.html。

posted on 2014-11-21 14:20  zhoujingjin  阅读(167)  评论(0编辑  收藏  举报

导航