使用pm命令安装或卸载apk,静默安装、卸载方法
来源:互联网 发布:mac系统清理软件 编辑:程序博客网 时间:2024/05/29 03:24
pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME][-s] [-f] PATH
pm uninstall [-k] PACKAGE
pm命令可以通过adb在shell中执行,同样,我们可以通过代码来执行。
/* * m命令可以通过adb在shell中执行,同样,我们可以通过代码来执行 */public static String execCommand(String ...command){Process process=null;InputStream errIs=null;InputStream inIs=null;String result="";try {process=new ProcessBuilder().command(command).start();ByteArrayOutputStream baos = new ByteArrayOutputStream(); int read = -1;errIs=process.getErrorStream();while((read=errIs.read())!=-1){baos.write(read);}inIs=process.getInputStream();while((read=inIs.read())!=-1){baos.write(read);}result=new String(baos.toByteArray());if(inIs!=null) inIs.close();if(errIs!=null) errIs.close();process.destroy();} catch (IOException e) {result=e.getMessage();}return result;}
1
execCommand(
"pm"
,
"install"
,
"-f"
,filePath);
//安装apk,filePath为apk文件路径,如/mnt/sdcard/ApiDemos.apk
2
execCommand(
"pm"
,
"uninstall"
, packageName);
//卸载apk,packageName为包名,如com.example.android.apis
编译生成apk时,要在你的manifest文件下添加android:sharedUserId="android.uid.system",如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xieyuan.mhfilemanager" android:versionCode="1" android:versionName="1.0" android:installLocation="internalOnly" android:sharedUserId="android.uid.system" >
编译完成之后还无法正常安装,会出现Installationerror:INSTALL_FAILED_SHARED_USER_INCOMPATIBLE错误,此时,要为apk重新签名。
在android源码\build\target\product\security中找platform.pk8和platform.x509.pem两个文件,在android编绎目录out下找到 signapk.jar这个包(源码目录\build\tools\signapk),并把编译好的apk(如PMDemo.apk)放在同一目录下,在重新签名之前,用rar文件打开apk文件,进入META-INF目录下,将CERT.SF和CERT.RSA这两个文件删除掉,然后在命令行中执行以下命令:
1
java -jar signapk.jarplatform.x509.pem platform.pk8 PMDemo.apk NewPMDemo.apk
安装前先把旧的apk卸载,这样重新签名之后的apk就可以正常安装了。
没有platform.pk8和platform.x509.pem,signapk.jar的可以到这里下载
- 使用pm命令安装或卸载apk,静默安装、卸载方法
- 使用pm命令安装或卸载apk
- android静默安装、静默卸载apk方法
- 静默安装apk,静默卸载apk
- Android下pm 命令详解 - 安装/卸载/APK等
- Android采用pm命令静默安装apk
- android apk静默安装和卸载
- android apk静默安装和卸载
- Android静默安装和卸载APK
- APK root权限静默安装、卸载
- android apk静默安装和卸载(2)
- android apk静默安装和卸载
- 静默安装和卸载第三方apk
- 使用adb命令批处理安装&卸载apk
- 使用adb命令批处理安装&卸载apk
- 使用adb命令批处理安装&卸载apk
- 静默安装和静默卸载
- 代码中执行apk安装、卸载、更新以及静默安装
- Trie 树学习下
- Hanoi塔算法思想解释
- Android各种传感器总结
- php数据库操作
- JAVA删除文件夹
- 使用pm命令安装或卸载apk,静默安装、卸载方法
- 再探java基础——throw与throws
- Struts类型转换
- GETDATE()
- 竞价口味湖南武i欧文
- ovirt-node接入openstack
- 9.6.1 哈希查找之分离链接哈希表解决哈希碰撞(1)
- 黑马程序员————集合1(day16)
- 修改oracle sga大小(在修改后启动不起来的解决方法)