安卓11版本开发模式开了关不了怎么回事

安卓11版本中引入了开发者选项中的“开发模式”(Developer Mode),用于方便开发人员对应用程序进行调试。开启开发模式后,开发者可以在设备上进行更多的调试设置和操作,包括USB调试、CPU使用情况、应用数据查看和屏幕录制等等。但是有些用户反映在开启了开发模式后,无法关闭,今天我们就来详细介绍一下这个问题的原理和解决方法。

## 开启和关闭开发模式

首先,我们来了解一下如何开启和关闭开发模式。在安卓11版本中,开发模式的开启方式和之前版本的差别不大:

1. 打开设备的设置;

2. 在“关于手机”或“关于平板电脑”中找到“版本号”或“构建号码”;

3. 连续点击多次版本号或构建号码,直到出现“您现在处于开发者模式”;

4. 在设置中找到“开发者选项”,就可以看到“开发模式”的选项了。

要关闭开发模式,只需在开发者选项中将开发模式的开关关闭即可。但是有些用户反映他们在关闭开发模式后,如下图所示,发现开发模式还是开着的。

![开发者模式未能关闭](https://i.loli.net/2021/09/27/1XUZ3BejPWwbG8l.png)

## 原因分析

这是因为开启“开发模式”会触发一个内部的设置,即“用户状态(User State)已更改”。而当一个应用程序已经使用“用户状态已更改”设置,并获得了管理员或系统权限后,关闭开发模式并不能去除这个权限。这是安卓11版本引进的一个新特性,旨在保护管理员或系统权限,以防止用户在不知情的情况下移除它们。

可以参考这篇 [官方文档](https://developer.android.com/about/versions/11/privacy/changes#user-id-state) 中的描述:

> 开发者现在可以选择启用“用户身份状态更改”设置,以防止未授权的用户或应用程序更改特定用户的身份状态。启用此设置后,用户身份状态更改后这些更改将仅在下列情况下保留:

>

> 1. 更改用户身份状态的应用程序具有管理员权限;

> 2. 更改用户身份状态的应用程序具有System级别的UID。

因此,关闭开发模式并不会撤销已经授权的应用程序访问管理员权限或系统权限。如果应用程序在管理员或系统权限下运行,您需要停止或卸载该应用程序,然后重启设备,才能彻底取消该应用程序的权限。

## 解决方法

如果开启了开发模式并且关闭开关后未能成功关闭,这里有几个解决方案:

1. 重启设备:重启设备可能会解决某些应用程序仍然可以访问管理员或系统权限的问题。

2. 卸载或停用应用程序:卸载或停用某些已授权访问管理员或系统权限的应用程序可能会解决问题。您可以依次从“设置”>“应用和通知”>“所有应用”中查找您想要停用或卸载的应用程序。

3. 清除设备数据:通过清除设备所有数据,您可以从应用程序的“系统权限”白名单中删除管理员或系统权限。

以上三种方法,任选一种都可以试试,应该可以解决开发模式关闭不了的问题。

总的来说,Android系统中的“开发模式”对于开发人员是十分重要的工具,但是它也具有一定的风险,如果被滥用的话可能会导致安全问题。因此,我们在使用开发模式时,要特别注意安全性,并随时注意关闭和保护开发模式。


相关知识:
zxingkotlin安卓开发
zxingkotlin是一款基于Google开源项目zxing的二维码扫描库,并且面向Kotlin语言开发的。它具有识别速度快、识别准确度高、可支持多种类型的二维码和条形码等优点,成为Android开发中使用最广泛的二维码扫描库之一。本文将详细介绍zxin
2023-05-23
unity的安卓端开发
Unity是一种多平台游戏开发引擎,可以轻松地开发并在多种平台上发布游戏,包括Android、iOS、Windows、MacOS和Linux等。而在安卓端开发中,Unity更是得到了广泛的应用。Unity安卓端开发原理:Unity在Android系统上的运
2023-05-23
python能不能安卓开发
Python是一种高级编程语言,与其他编程语言不同,它结构清晰、语法简洁、易于学习和使用,同时还拥有丰富的第三方库和模块,可以应用于多种领域,例如,科学计算、Web开发、桌面应用程序等。虽然Python在移动应用开发方面相对不那么流行,但它确实有能力在An
2023-05-23
lua开发工具安卓
Lua是一款高效、轻便、可嵌入的脚本语言,广泛应用于游戏开发、嵌入式系统、网络编程等领域。而在移动设备领域,有很多人选择使用Lua开发应用程序,因为它速度快、便于移植、易于扩展等特点。本文将介绍一些适用于安卓平台的Lua开发工具。1. MobiLuaMob
2023-05-23
linux转安卓开发
Linux和安卓是两个完全不同的操作系统,Linux是开源的Unix类操作系统,而安卓则是基于Linux核心的移动操作系统,两者的开发语言,应用程序开发方式,内核及很多方面都有很大的不同。然而,正是因为安卓是基于Linux的,在很多方面与Linux操作系统
2023-05-23
ios 比安卓编程开发app哪个简单
当涉及到移动应用程序的开发时,ios和安卓是两个主要平台。它们之间的开发过程和编程语言都有所不同。在考虑哪种平台更容易编程时,需要考虑几个因素。编程语言ios应用程序使用的编程语言是Swift。它是一种高性能编程语言,特别是为苹果操作系统而设计的,它比Ob
2023-05-23
arcore安卓开发
ARCore是谷歌推出的一个基于Android平台的增强现实框架,其主要目的是让Android设备具有AR功能。ARCore结合了设备传感器和相机信息,通过准确的空间感知和环境分析,能够让开发者在自己的应用中轻松实现丰富的交互和AR体验。下面我将详细介绍A
2023-05-23
arm开发板如何安装安卓系统
ARM开发板作为一款高性能嵌入式开发平台,适用于各种物联网设备、智能家居、自动化控制等场景,因其强大的性能特点和强大的扩展性得到了广泛运用。想让ARM开发板运行更加灵活和高效,安装操作系统是非常必要的。本文将详细介绍ARM开发板如何安装安卓系统。一、准备工
2023-05-23
ar 安卓开发库
AR(增强现实)技术是指利用计算机模拟现实世界,将虚拟的3D物体与现实场景结合在一起的一种技术。随着移动终端硬件技术的不断提升,AR技术也得到了广泛的应用。而AR技术在Android平台上的实现,离不开一些开发库的支持。ARCore是Google推出的一款
2023-05-23
安卓系统app开发多少钱一台
在互联网行业中,许多人想要创建自己的应用程序(App)来实现产品或服务的在线化。具体到安卓系统App开发,价格因其项目的复杂程度、开发周期、功能需求等多种因素而有较大差异。下面我们详细讨论这些因素,以帮助您更好地了解开发安卓App的成本。1. 项目复杂程度
2023-04-28
安卓疫情app开发
随着新型冠状病毒疫情的爆发,许多国家和地区都开始开发针对疫情追踪和预防的应用程序。下面是介绍安卓疫情app开发的一些原理和详细介绍:1. 数据源疫情app需要实时获取最新的疫情数据,这个数据源一般是从各个国家或地区的疾控中心或卫生部门获取。国际上最具权威性
2023-04-28
netcore 开发安卓app
如何使用.NET Core开发Android应用(原理与详细介绍)在本教程中,我将为你介绍如何使用.NET Core(以前称为ASP.NET核心)来开发Android应用。虽然.NET Core并不针对移动应用开发,但它与Xamarin结合,这使得我们可以
2023-04-28
©2015-2023 安卓益APP Anzhuoe.com 蜀ICP备17007734号-1