我试图从shell卸载一个应用程序,但是这个应用程序是以设备管理员的身份运行的,因此shell> adb uninstall com.example.test不起作用。如何从shell禁用设备管理员?
shell> adb uninstall com.example.test
iaqfqrcu1#
通常情况下,管理访问权限是通过设备管理员屏幕撤销的,然后应用程序被卸载。在后面的示例中,我将假设airdroid(com.sand.airdroid)已被配置为设备管理员,并将被卸载。因此,为了定制此示例,请将com.sand.airdroid的示例替换为您自己的应用程序名称。
com.sand.airdroid
要访问 * 设备管理员 *,请导航:设置→安全性→设备管理员。然后,取消选中要取消设置管理访问权限的应用程序。也可以使用shell打开此Activity:
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
完成此操作后,即可正常卸载Activity:
adb uninstall com.sand.airdroid
有一种强力方法,它需要搜索/system和/data文件系统中的所有文件,然后删除找到的每一项。* 免责声明:请小心使用(首先在模拟器上测试)。*
adb shell # Switch to root su - # Search for all installed files using the fully-qualified app name find /system /data -name \*com.sand.airdroid\*
...出现文件列表(包括目录)--对于每个文件,通过在其前面加上rm -f:
rm -f
rm -r /data/media/0/Android/data/com.sand.airdroid rm -r /data/data/com.sand.airdroid rm -r /data/app-lib/com.sand.airdroid-1 rm -r /data/app/com.sand.airdroid-1.apk rm -r /data/dalvik-cache/data@app@com.sand.airdroid-1.apk@classes.dex # Run the find command again to ensure nothing was missed find /system /data -name \*com.sand.airdroid\* # exit root exit # exit Android shell exit
要允许Android清理其文件,请重新启动设备。
adb reboot
设备重新启动后,可以使用uninstall命令卸载应用程序以完成清理。
uninstall
pjngdqdw2#
adb shell pm disable-user (package name)将停用DeviceAdmin并禁用该应用程序。即使您再次启用该应用程序,它也不会被激活。
adb shell pm disable-user (package name)
e1xvtsh33#
如果应用设置为Admin,则无法直接卸载应用。首先必须禁用admin模式,然后才能卸载应用。要删除活动的admin,请首先运行以下命令:
adb shell dpm remove-active-admin com.kiosk.example/com.kiosk.example.MyDeviceAdminReceiver
(com.kiosk.example)是软件包名称,请将其替换为您自己的名称,MyDeviceAdminReceiver是接收方名称。如果此命令成功,则可以卸载应用程序,或者运行此命令卸载:
adb uninstall com.kiosk.example
3条答案
按热度按时间iaqfqrcu1#
通常情况下,管理访问权限是通过设备管理员屏幕撤销的,然后应用程序被卸载。在后面的示例中,我将假设airdroid(
com.sand.airdroid
)已被配置为设备管理员,并将被卸载。因此,为了定制此示例,请将com.sand.airdroid
的示例替换为您自己的应用程序名称。清洁方法
要访问 * 设备管理员 *,请导航:设置→安全性→设备管理员。然后,取消选中要取消设置管理访问权限的应用程序。
也可以使用shell打开此Activity:
完成此操作后,即可正常卸载Activity:
强力方法(需要root用户)
有一种强力方法,它需要搜索/system和/data文件系统中的所有文件,然后删除找到的每一项。* 免责声明:请小心使用(首先在模拟器上测试)。*
...出现文件列表(包括目录)--对于每个文件,通过在其前面加上
rm -f
:要允许Android清理其文件,请重新启动设备。
设备重新启动后,可以使用
uninstall
命令卸载应用程序以完成清理。pjngdqdw2#
adb shell pm disable-user (package name)
将停用DeviceAdmin并禁用该应用程序。即使您再次启用该应用程序,它也不会被激活。e1xvtsh33#
如果应用设置为Admin,则无法直接卸载应用。首先必须禁用admin模式,然后才能卸载应用。要删除活动的admin,请首先运行以下命令:
(com.kiosk.example)是软件包名称,请将其替换为您自己的名称,MyDeviceAdminReceiver是接收方名称。如果此命令成功,则可以卸载应用程序,或者运行此命令卸载: