默认安装另一个子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..."
![](https://images.cnblogs.com/cnblogs_com/brucenan/201210/201210060916427944.png)
![](https://images.cnblogs.com/cnblogs_com/brucenan/201210/201210060916421325.png)
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) 编辑 收藏 举报