您的位置:首页 > 移动开发 > Android开发

Android应用市场之APK自动安装

2012-11-14 22:19 253 查看
关于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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: