当前位置:首页 » 安卓系统 » android静默卸载

android静默卸载

发布时间: 2022-06-16 07:37:48

❶ 腾讯手机管家 流氓 你敢不静默安装吗 求完全卸载的方式

您好,亲爱的管家用户

卸载方法:打开管家路径(一般为C:\Program Files (x86)\Tencent\QQPCMgr),在此文件夹下找到QQPCB1AndroidJmp文件夹,进入双击uninstall.exe即可卸载手机管家。
感谢您对腾讯手机管家的支持!

❷ android N 内置可卸载app

方法一

直接使用Intent卸载

Uri uri = Uri.fromParts("package", "com.example.demo", null);
Intent intent = new Intent(Intent.ACTION_DELETE, uri);
startActivity(intent);123

这是最简单的方式,调用卸载方法系统会弹出卸载APP对话框,点击确定就会立即卸载,不需要额外权限

方法二

使用PackageManager静默卸载

谷歌认为该方法是不安全的行为,因此该接口是@hide的,不是公开的接口,调用此接口需要有系统签名和相应的系统级权限

具体来说就是需要
<uses-permission android:name="android.permission.DELETE_PACKAGES"/>权限,但<uses-permission android:name="android.permission.DELETE_PACKAGES"/>是系统级权限,普通APP根本无法获取到,如果在AndroidManifest.xml强行加入该权限编译也不会通过

唯一的办法就是使用APK反编译工具在Android Studio之外修改权限,比如用apktool反编译工具先把apk文件解压出来,用编辑器在AndroidManifest.xml中加入上面的两个权限,然后在用工具apktool重新打包

获得<uses-permission android:name="android.permission.DELETE_PACKAGES"/>权限后,定义PackageDeleteObserver实现类,实现packageDeleted方法

private class PackageDeleteObserver extends IPackageDeleteObserver.Stub {
private int position;
private int mFlag;

public PackageDeleteObserver(int index, int flag) {
position = index;
mFlag = flag;// 0卸载1个包,1卸载N个包 N>1
}

@Override
public void packageDeleted(String arg0, int arg1)
throws RemoteException {
// TODO Auto-generated method stub
Message msg;
msg = mHandle.obtainMessage();
msg.what = FLAG_DELETE_VIRUS;
msg.arg1 = position;
msg.arg2 = mFlag;
msg.sendToTarget();
}
}

获取PackageManager 对象,调用deletePackage方法

PackageManager pkgManager = mContext.getPackageManager();
PackageDeleteObserver observer = new PackageDeleteObserver(currVirus, 1);
pkgManager.deletePackage(pakName, observer, 0); 123

最后,还需要进行系统签名才能使用

对apk进行系统签名:

java -jar signapk.jar platform.x509.pem platform.pk8 test.apk test_signed.apk1

将签名之后的文件 push到手机中,需要root权限

方法三

通过pm命令方式实现静默卸载

该方法直接对Android系统执行卸载命令,需要root权限

//pm命令可以通过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;
}222324252627282930

执行卸载命令

execCommand("pm","uninstall", "packageName");1

编译生成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" >

❸ 如何将android studio卸载干净

1、首先需要先打开Android studio开发软件工具,进行到界面中,就可以点击菜单中的file的选项。2、在弹出的下拉的菜单中,可以直接选中“project structure”的选项。3、这样就直接进入到project structure,需要moles的选项中进行选中一个项目。4、进入到选中的项目中后,就可以直接点击dependencies的选项。5、在列表可以看到已添加的依赖的模块,选中要删除的模块,然后点击右侧的位置当中的“-”即可完成删除。6、而Android studio的项目已添加的模块需要手动进行删除,找到这个模块的文件,进行右键》》delete。7、对删除的模块进行再次的确认的信息,可以直接点击“delete”选项,就完成了删除模块的操作。

❹ android 静默卸载应用需要root权限吗

一般系统自带的应用是自带授权,不需要root的情况下即有权限静默安装应用,但是第三方应用必须在获取系统授权的情况下才能静默安装或者卸载应用程序,一般来说是需要root权限的

❺ android怎么实现卸载本应用然后发送信息到服务器

卸载之后肯定不能再发送信息了,不过有2个解决方法,一个是用另外一个程序监控你自己的程序,卸载就发消息,这不估计不行。另一个就是程序定时向服务器报道,如果超过某个时限没有报道就视为卸载了。

❻ android系统怎么卸载自带软件

安装ROOT,授权管理,系统软件清道夫这三个软件就可以卸载了

❼ 如何永久性的卸载Android自带的应用

可以root手机然后用第三方软件删除系统自带应用
root推荐:kingroot
但是root对手机有一定的弊端(自己网络)
不root的话可以通过停用系统应用来让这个应用不再占用运行内存(但是仍能恢复,仍占用系统储存空间)

❽ 如何将Android Studio卸载干净

删除就好了,绿色软件

❾ android如何实现静默安装哦

原理

  • 静默安装、卸载的原理就是利用pm install命令来安装apk,pm uninstall 来卸载apk.

  • 智能安装是利用android系统提供的无障碍服务AccessibilityService,来模拟用户点击,从而自动安装.

//静默安装
privatevoidinstallSlient(){
Stringcmd="pminstall-r/mnt/sdcard/test.apk";
Processprocess=null;
DataOutputStreamos=null;
BufferedReadersuccessResult=null;
BufferedReadererrorResult=null;
StringBuildersuccessMsg=null;
StringBuildererrorMsg=null;
try{
//静默安装需要root权限
process=Runtime.getRuntime().exec("su");
os=newDataOutputStream(process.getOutputStream());
os.write(cmd.getBytes());
os.writeBytes(" ");
os.writeBytes("exit ");
os.flush();
//执行命令
process.waitFor();
//获取返回结果
successMsg=newStringBuilder();
errorMsg=newStringBuilder();
successResult=newBufferedReader(newInputStreamReader(process.getInputStream()));
errorResult=newBufferedReader(newInputStreamReader(process.getErrorStream()));
Strings;
while((s=successResult.readLine())!=null){
successMsg.append(s);
}
while((s=errorResult.readLine())!=null){
errorMsg.append(s);
}
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
if(os!=null){
os.close();
}
if(process!=null){
process.destroy();
}
if(successResult!=null){
successResult.close();
}
if(errorResult!=null){
errorResult.close();
}
}catch(Exceptione){
e.printStackTrace();
}
}
//显示结果
tvTest.setText("成功消息:"+successMsg.toString()+" "+"错误消息:"+errorMsg.toString());
}
热点内容
android控制屏幕关闭 发布:2025-05-17 09:32:23 浏览:147
excel的快速访问工具栏 发布:2025-05-17 09:14:58 浏览:1
android360源码 发布:2025-05-17 09:11:47 浏览:76
步科编程软件 发布:2025-05-17 09:09:18 浏览:824
ps4密码设置有什么要求 发布:2025-05-17 08:49:16 浏览:70
文本编译工具 发布:2025-05-17 08:47:47 浏览:3
phpc语言 发布:2025-05-17 08:45:30 浏览:806
苹果6s怎么设置4位密码 发布:2025-05-17 08:41:14 浏览:180
如何玩cf端游越南服务器 发布:2025-05-17 08:38:54 浏览:184
噪声的危害和控制设计脚本 发布:2025-05-17 08:22:29 浏览:474