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

Android APK自动安装

2014-02-21 11:12 423 查看
转自:/article/11607866.html

关于APK自动安装,需要获得root权限,尝试了多种方法,这里介绍一种自己亲自实现了的方法:

使用pm install XXX.apk的方法,得到apk后,对其重新签名再安装到手机中,即可完成自动静默安装。

具体步骤如下:

1. 代码中执行

[java] view
plaincopy

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