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
关于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
相关文章推荐
- android的上下文菜单---context menu
- android--Notification--Flag类型
- Android多线程与Java多线程比较
- Android 图片的浏览、缩放、拖动和自动居中
- Android组件研究
- android将对象转换为json格式
- android数据存储之ContentProvider
- Android AsyncTask的使用介绍与示例
- 【Android学习】 LinearLayout 组件左右分开的布局设置
- android中多分辨率支持方法
- Android examples
- (转)Android 系统 root 破解原理分析
- Android任务、进程、线程的关系
- Android数据缓存
- Android QQ空间浏览图片动画特效的实现(※)
- 关于android中线性布局的layout_gravity属性
- Android中AutoCompleteTextView的使用
- Android中GridView使用总结
- Android实现自适应正方形GridView(陌陌引导页面效果)
- Android 中ViewPagerIndicator的使用