Android应用市场之APK自动安装
关于APK自动安装,需要获得root权限,尝试了多种方法,这里介绍一种自己亲自实现了的方法:
使用pm install XXX.apk的方法,得到apk后,对其重新签名再安装到手机中,即可完成自动静默安装。
具体步骤如下:
1. 代码中执行
public void execCommand(){ new Thread(){ public void run() { Process install = null; try { //安装apk命令 install = Runtime.getRuntime().exec("pm install -r " + "/mnt/sdcard/XXXX.apk"); install.waitFor(); } catch (Exception e) { e.printStackTrace(); }finally{ if (install != null) { install.destroy(); } } } }.start(); }执行pm install 命令2. 编译得到一个apk,进行重新签名。
签名的步骤方法如下:
(1)编译jar
用Android提供的SignApk工具来签名,signapk的源代码是在"build\tools\signapk"下
命令行cd到signapk.java代码目录下,
javac signapk.java
获取SignApk$SignatureOutputStream.class和SignApk.class
建立目录s\com\android\signapk,将两个class文件放入目录下
jar cvfm signapk.jar SignApk.mf -C s\ .
注意:"s\"后面的"."前面有空格
生成signapk.jar文件,得到了Android提供的签名程序signapk.jar
(2)在android源码\build\target\security中找到platform.pk8和platform.x509.pem两个文件,将得到的signapk.jar这个包,还有编译好的APK放在同一目录下,执行命令:
java -jar signapk.jar platform.pk8 platform.x509.pem XXXX.apk new.apk
(3)将得到的new.apk安装到手机中即可。adb install new.apk