Android M(6.0) 静默安装和静默卸载经验分享

静默安装和卸载经验:

  1. 静默卸载:

String appPackage ="被卸载应用的包名";
Intent intent = new Intent(mContext, mContext.getClass());
PendingIntent sender = PendingIntent.getActivity(mContext, 0, intent,0);
PackageInstaller mPackageInstaller = mContext.getPackageManager().getPackageInstaller();
mPackageInstaller.uninstall(appPackage, sender.getIntentSender());

 

上面为调用PackageInstaller接口实现静默卸载的简单源码。

 

需要新建一个文件名为device_owner.xml的文件(可以在windows下新建编辑,然后push),写入如下信息:


 

然后通过adb push/data/system中。

 

然后在代码中通过简单源码即可实现静默卸载功能。

 

  1. 静默安装:

静默安装需要root权限,或将app作为系统应用,赋予:

<uses-permissionandroid:name="android.permission.DELETE_PACKAGES"/>

<uses-permissionandroid:name="android.permission.INSTALL_PACKAGES"/>

 

权限之后方能使用 pm install或者 pm uninstall命令实现静默安装或卸载。

方法如下:

首先,将apk进行系统签名(网上说需要先反编译,重新添加AndroidManifest.xml文件中的INSTALLDELETE的权限,但是我这次的情况反编译后发现Manifest文件中有,于是直接进行系统签名即可),之后将apk 通过adb push/system/app/APP名称”下(需要Root权限),随后adb reboot生效。

 

另外需要注意:

待安装的apk的路径,例如/sdcard/download/*.apk  保险起见,每一级目录都要进行权限赋予:

chmod 777 /sdcard

chmod 777 /sdcard/download

chmod 777 /sdcard/download/*.apk

否则安装时会出现 INSTALLED_FAILED_INVALID_URI(意思是无效路径)的错误。

你可能感兴趣的:(Android)