从 shell 禁用 DeviceAdmin?

2023-11-25

我正在尝试从 shell 卸载应用程序,但是该应用程序正在以设备管理员身份运行,因此shell> adb uninstall com.example.test不工作。

如何从 shell 禁用设备管理员?


通常,通过设备管理员屏幕撤销管理访问权限,然后卸载应用程序。在后续示例中,我将假设 airdroid (com.sand.airdroid),已被配置为设备管理员,待卸载。因此,要定制此示例,请将实例替换为com.sand.airdroid用您自己的应用程序名称。

干净的方法

访问设备管理员,导航:SettingsSecurity设备管理员。然后,取消选中要取消设置管理访问权限的应用程序。

也可以使用 shell 打开此活动:

adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"

完成此操作后,即可正常卸载该 Activity:

adb uninstall com.sand.airdroid

暴力破解法(需要root)

确实存在蛮力方法。它涉及搜索 /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 -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@[email protected]@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命令完成清理。

adb uninstall com.sand.airdroid
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 shell 禁用 DeviceAdmin? 的相关文章

  • Android 上的多处理

    我一直在 Android 上执行一些测试 以验证并行化算法 如 FFT 的性能可以提高多少 我通过使用带有 JNI FFTW 的 pthread 和 Java 线程 来自 JTransforms 来实现这些算法 我没有像预期那样通过使用线程
  • 如何创建没有标题的DialogFragment?

    我正在创建一个 DialogFragment 来显示一些有关我的应用程序的帮助消息 除了一件事之外 一切都工作正常 窗口顶部有一条黑色条纹 显示 DialogFragment 我认为它是为标题保留的 我不想使用它 这是特别痛苦的 因为我的自
  • Android Studio 模拟器无法加载 Windows 10

    我在 Windows 10 上全新安装了 android studio 其中包含 android api 22 的所有软件包 当我运行模拟器时 我收到以下消息 C Users admin AppData Local Android sdk
  • React-Native 中的导航抽屉

    我是反应原生的新手 不介意我问一个基本问题 我想知道 实现抽屉式导航的分步过程是什么 推荐链接这个链接 https github com react native community react native side menu usage
  • 使用 ViewPager 从 Activity 到 Fragment 的通信

    我有一个 Activity 和两个 Fragmentstablayout含有一个viewpager 现在我可以通过实现谷歌的指南回调接口从片段到活动进行通信 但我怎样才能以另一种方式沟通从活动到片段 如果活动中发生了一些事情 外部事件 我想
  • SDK 管理器缺少模拟器的旧版 Android 系统映像

    我刚刚重新安装了 ADT 捆绑包 20130522 和 Android Studio 因为我的 eclipse 安装再次搞砸了 但那是另一个故事了 在任一版本中 当我启动 SDK Manager 时 都没有任何 2 2 的系统映像 只有 2
  • Android 操作栏 SearchView 作为自动完成功能?

    我在操作栏中使用 SearchView 我想在搜索视图上使用自动完成功能来从数据库中获取结果 这可能吗 或者我是否需要使用自定义文本框 然后添加自动完成功能 所以我只需要对 v7 版本执行此操作 并沮丧地发现我不能简单地使用 ArrayAd
  • 在 C# 中编写批处理脚本的好方法是什么?

    我想用 C 编写简单的脚本 我通常会使用 bat 或 4NT btm 文件 复制文件 解析文本 询问用户输入等等 相当简单 但在批处理文件中正确执行这些操作确实很困难 例如没有例外 我熟悉像 AxScript 这样的命令行 脚本 包装器 这
  • Gradle 构建过程失败

    我的项目正在成功构建 突然我在 Android studio 中收到以下错误 无法找到方法 org gradle api publish maven internal publication MavenPublicationInternal
  • 定时器时间不作为变量改变?

    这是我的代码 private int V Time 1 try final Timer V Timer final Handler V Handler V Timer new Timer V Handler new Handler Loop
  • 视图随软键盘移动,遮挡其他 UI 对象

    我有一个容器视图 我希望它始终位于视图底部 位于 ScrollView 下方 ScrollView 有一些 UI 对象 其中一个是 EditText 对象 目前 当用户点击 EditText 对象内部时 android softkeyboa
  • java.exe 以非零退出值 1 结束

    只是为了开始 我并不是真正尝试从 Android 中的 xlsx 文件中读取单元格 我已经尝试了几乎所有我在 Google 上搜索到的内容 但是每次 在两台不同的 PC 上 都是 Java 1 7 0 79 当我尝试构建 运行 这个应用程序
  • Android 10 中没有设备筛选器的 USB_DEVICE_ATTACHED

    我正在开发一个 Android 应用程序 它在清单中为 BroadcastReceiver 注册了四个意图过滤器 这些都是 android hardware usb action USB DEVICE ATTACHED android ha
  • 通知管理器所需的权限

    我正在尝试使用以下命令将振铃器设置为静音且请勿打扰优先级 AudioManager myAudioMgr AudioManager context getSystemService Context AUDIO SERVICE Notific
  • Desire HD 中的应用程序崩溃

    由于某些莫名其妙的原因 我的应用程序在 HTC Desire HD 上崩溃了 它在其他手机和模拟器中运行良好 这是崩溃报告 java lang RuntimeException Unable to start activity Compon
  • 如何将 Android 应用程序添加到已在 iOS 应用程序中使用的现有 Firebase 项目?

    我一直在我的 iOS 应用程序中使用 Firebase 项目 我现在想开始为 Android 应用程序使用相同的 Firebase 项目及其所有数据库和存储 在您的应用程序下Overview菜单 你应该按添加另一个应用程序并选择Androi
  • 使用 Android O 的“android:fontFamily”时出现错误“文件名必须以 .xml 结尾”?

    Android O 引入了一项新功能 XML 中的字体 它允许您将字体用作资源 我正在创建font资源文件中的文件夹 由安卓开发者 https developer android com preview features working w
  • 使用Gradle组装时如何更改Android应用程序包名称?

    是否可以使用 Gradle 更改 Android 应用程序的包名称 我需要编译同一应用程序的两个副本 并具有唯一的包名称 这样我就可以向市场发布两次 作为使用的更简单的替代方案产品口味 正如伊森的回答 https stackoverflow
  • 如何像UCBrowser一样使用webview打开url

    我是安卓新手 我正在尝试制作一个示例应用程序来在 webview 中打开网站 问题是 网站以桌面模式打开 如何才能像UC浏览器 手机模式 一样打开网站 尝试这个 它应该有效 webview1 getSettings setJavaScrip
  • 无法 ACTION_VIEW 外部存储上的文件

    我的 Android 手机的外部存储中有一个文件 在本例中是模拟的 知道通往它的路径和 或拥有File代表它的对象 我如何使用Intent在适当的应用程序中打开它 我尝试的第一件事是 startActivity new Intent Int

随机推荐

  • 什么是 Json.NET Mono 程序集参考?

    我正在尝试编译此 Json NET 代码 using Newtonsoft Json MyDesc d JsonConvert DeserializeObject
  • 仅使用蓝牙选项共享意图

    我正在尝试使用我的应用程序通过蓝牙发送文件 我已经将 mime 类型更改为随机的 asdxasd asdxa 该文件有一个我需要使用的扩展名 即 sso 当我使用共享意图时 它只出现蓝牙和 gmail 选项 但我不能从列表中删除 gmail
  • 异常过滤器在 Web api 中不起作用

    我有一个自定义异常过滤器 能够处理控制器中的所有错误 只是一个常见的错误处理机制 public class ExceptionHandlingAttribute ExceptionFilterAttribute public overrid
  • 如何在Tomcat上安装和使用CDI?

    我正在创建我的第一个项目 Java EE 7 但遇到了麻烦 感谢任何帮助 雄猫7 0 34 JSF 2 2 Primefaces 3 5 javaee api 7 0 jar 当应用程序启动时 Tomcat 日志显示以下消息 validat
  • 回调函数触发得太早

    我在 jQuery 中有这个简单的函数 function detailspage page if page checkcurrent checkcurrent page div details children div slideUp sl
  • 如何打印列表中的类型

    所以我得到了一个列表 我必须打印列表中每个项目的类型 我可以清楚地看到有字符串和整数 但我需要它在 Python 中打印出来 我们刚刚了解到for 循环所以我觉得这就是他们正在寻找的东西 但我无法将其打印出来 ls type item fo
  • 在使用 ZEIT Now 部署的 Next.js 应用程序中使用绝对导入

    在 Next js 9 教程中建议的方法导入共享组件是通过相对路径 比如 import Header from components Header 我想使用绝对导入 例如 import Header from components Head
  • listview 与 arraylist,android 中的简单适配器

    我尝试使用 arraylist 和简单适配器在列表视图中显示一些内容 我尝试了类似下面的操作 但结果显示了数组列表的姓氏 我有什么错我无法理解 final ListView listView ListView findViewById R
  • 查找正在运行的进程的 PID 并存储为数组

    我正在尝试编写一个 bash 脚本来查找正在运行的进程的 PID 然后发出终止命令 我已经部分工作了 但我面临的问题是可能有多个进程正在运行 我想向找到的每个 PID 发出终止命令 我想我需要将每个 PID 放入一个数组中 但我不知道如何做
  • C# + SQL Server ExecuteScalar() 不返回最后插入的 id

    我有以下函数 它执行查询并在成功时返回 true 在失败时返回 false 不 我想扩展该方法 以便在触发每个插入查询时 类 varinsertId包含最后插入的行的 ID 问题是insertId总是 0 所以不知何故executeScal
  • jQuery - 动态div高度等于整个窗口的高度

    我正在使用这里找到的代码jQuery 动态div高度 现在 当您调整窗口大小时 高度更改可以正常工作 但是如果向下滚动 高度不会改变 这意味着窗口属性不包含超出浏览器窗口大小的内容 因此 如果向下滚动 高度不会增加 那么我可以添加什么 那就
  • powershell运行java进程问题

    我正在尝试在 Windows XP 中通过 Powershell 运行 java 进程 这是命令 java exe cp common jar Dcontext atest1 Dresourcepath DW Install 所以 类路径是
  • 如何实现水平滚动选项卡?

    我正在尝试实现这个应用程序 目前我已经在上面设计了选项卡 由于我有超过 7 个选项卡 所以看起来太拥挤了 我该如何设计才能使 tabwidget 可以水平滚动 我在市场上的一些应用程序上看到过这种设计 但不知道如何在我的应用程序中实现它 我
  • gfortran 中的 ieee_arithmetic 内在模块

    我需要使用 gfortran 编译一个依赖于的库ieee arithmetic 但是发现gfortran无法识别这个模块 例如用代码a f90 program test use intrinsic ieee arithmetic real
  • 如何在单页应用程序中处理非根 URL?

    我尝试使用 Rails 3 2 和 Backbone js 以及 pushState 选项制作一个单页应用程序 但遇到了一些我不理解的问题 如果我加载应用程序的根 URL 一切都会正常 Rails 返回一个带有 JS 的 HTML 布局 它
  • 在批处理脚本中获取特定路径的父目录

    您好 我在批处理文件的变量中有完整的文件路径 如何获取其一级 二级父目录路径 set path C SecondParent FirstParent testfile ini 不使用变量PATH为了这 PATH 是命令提示符使用的内置变量
  • Facebook iOS SDK - 在 Graph API v2.4 中获取好友列表

    我正在使用下面的代码来获取使用应用程序的 Facebook 好友 Issue a Facebook Graph API request to get your user s friend list FBSDKGraphRequest req
  • 仅当 iOS11 可用时才包含类的扩展

    我正在尝试扩展一个用 Obj C 编写的类 并包含一个用 Swift 编写的扩展 使其符合UIDropInteractionDelegate 像这样 available iOS 11 0 extension NoteEditViewCont
  • Pandas groupby 并计算百分比变化

    我参考如何为 groupby DataFrame 创建滚动百分比 import pandas as pd data product a 1 31 2014 53 product b 1 31 2014 44 product c 1 31 2
  • 从 shell 禁用 DeviceAdmin?

    我正在尝试从 shell 卸载应用程序 但是该应用程序正在以设备管理员身份运行 因此shell gt adb uninstall com example test不工作 如何从 shell 禁用设备管理员 通常 通过设备管理员屏幕撤销管理访