如何在应用程序代码本身中使用 adb 命令卸载 android 应用程序?

问题描述

我想要卸载应用程序而不弹出“您要卸载此应用程序吗?”对话框。

我试过使用

alphabet = alphabet.remove(my_word[i]) 

出现以下错误

try {
        Runtime.getRuntime().exec("pm uninstall --user 0 packageName")
    }catch (e : Exception){
        e.printstacktrace()        
    }

注意:AndroidManifest 文件添加了 INteraCT_ACROSS_USERS_FULL 权限,并且该应用被签名为系统应用

解决方法

这目前不适用于第三方应用程序。注意 即使使用反射或其他技巧来访问 installPackage() 也会 没有帮助,因为只有系统应用程序可以使用它。 (这是 因为是低级安装机制,权限之后 已获得用户认可,因此常规使用不安全 可以访问的应用程序。)

还有 installPackage() 函数参数经常改变 在平台发布之间,因此您尝试访问它所做的任何事情都会 在平台的各种其他版本上失败。

但是,您可以使用 ADB 命令行卸载应用程序

adb uninstall <package_name>

您可以参考以下链接到另一个类似的主题。

install / uninstall APKs programmatically (PackageManager vs Intents)