add a user guide

This commit is contained in:
BinTianqi
2024-02-11 18:38:48 +08:00
parent aaaf1a75aa
commit 119222fdfe
2 changed files with 946 additions and 32 deletions

937
Guide.md Normal file
View File

@@ -0,0 +1,937 @@
# 使用指南
欢迎来到Android owner使用教程
在这里了解各个功能所需的权限、兼容的安卓版本和注意事项
## 目录
1. [权限](#权限)
2. [系统](#系统)
3. [网络](#网络)
4. [工作资料](#工作资料)
5. [应用管理](#应用管理)
6. [用户限制](#用户限制)
7. [用户管理](#用户管理)
8. [密码与锁屏](#密码与锁屏)
## 权限
### Device admin
权限最小
#### 激活
- 安卓设置中激活(你可以在此应用中跳转到安卓设置的激活界面)
- ADB命令
ADB激活命令
```shell
adb shell dpm set-active-admin com.binbin.androidowner/com.binbin.androidowner.MyDeviceAdminReceiver
```
一个设备可以同时存在多个Device admin。
#### 停用
- 此应用的”权限“界面中停用
- 安卓设置中停用
- ~~ADB命令停用~~参考Device owner的ADB命令停用
### Profile owner
权限中等
如无特别说明Profile owner包括主用户、工作资料和受管理用户中的Profile owner
#### 激活
- 使用ADB激活不推荐如果能使用ADB建议激活Device owner只能有一个Profile owner
- 创建工作资料此应用会成为工作资料中的Profile owner只能有一个Profile owner
- 成为Device owner后创建并管理用户此应用会成为新用户的Profile owner每个用户各有一个Profile owner
ADB激活命令
```shell
adb shell dpm set-profile-owner com.binbin.androidowner/com.binbin.androidowner.MyDeviceAdminReceiver
```
#### 停用
主用户:”权限“界面中停用
工作资料:”设备控制“界面中的”清除数据“,会删除工作资料
受管理的用户:删除用户即可
### Device owner
权限最高
#### 激活
- 使用ADB激活
- 恢复出厂设置并开机后使用NFC发送这个app的下载链接没试过
- 使用Root权限往/data/system里面放一个xml文件没试过
ADB激活命令
```shell
adb shell dpm set-device-owner com.binbin.androidowner/com.binbin.androidowner.MyDeviceAdminReceiver
```
ADB激活有一定局限性
激活前必须删除所有用户user否则会报错。你可以使用下面这条ADB命令查看已有的用户
```shell
adb shell pm list users
```
激活前也要删除所有账号account否则会报错。你可以使用下面这条ADB命令查看已有的账号
```shell
adb shell dumpsys account
```
上面两个是安卓系统的限制,此外,还有设备生产商的限制
MIUI需要在开发者选项中打开”USB调试安全设置
ColorOS完全不支持Device owner
#### 停用
- 恢复出厂设置(这是官方推荐的做法)
- 在“权限”页面停用(推荐)
- ADB命令停用麻烦
ADB命令停用十分麻烦你需要修改AndroidManifest.xml并自己编译项目。
你需要把AndroidManifest.xml中第39行的`android:testOnly="false"`的值改为true
由于签名校验如果你已经安装了release那这个方法没用
然后使用这条ADB命令停用
```shell
adb shell dpm remove-active-admin com.binbin.androidowner/com.binbin.androidowner.MyDeviceAdminReceiver
```
使用这条命令也可以停用Device admin和Profile owner
以上三种方法停用Device owner都会同时停用Device admin
### 设备唯一标识码
需API31或以上
需要先设置[组织ID](#组织ID)同一个组织ID的设备唯一标识码相同恢复出厂设置不变
### 组织名称
需API26或以上
需要Device owner或Profile owner
设置组织名称后会在一些地方显示此设备归xxx所有
### 不受控制的账号类型
需Device owner或Profile owner
作用未知
### 锁屏信息
需API24或以上
需要Device owner或Profile owner
在锁屏界面上显示的一段简短的消息
### 提供支持的长/短消息
需API24或以上
如果用户试图使用被挂起的应用或被禁用的功能,会显示提供支持的短消息
提供支持的长消息不知道有啥用
## 系统
### 禁用相机
需要的权限Device owner或Profile owner
### 禁止截屏
需要的权限Device owner或Profile owner
也会禁止AOSP自带的录屏
### 隐藏状态栏
需要的权限Device owner或附属用户的Profile owner
需要API34或以上
### 自动设置时间
需要的权限Device owner或由组织拥有的工作资料的Profile owner
需要API30或以上
### 自动设置时区
需要的权限Device owner或由组织拥有的工作资料的Profile owner
需要API30或以上
### 自动设置时间(弃用)
需要的权限Device owner或Profile owner
自从API30开始弃用在API30或以上的设备上此功能不会显示
### 全局静音
需要的权限Device owner或Profile owner
### 备份服务
需要的权限Device owner或Profile owner
需要API26或以上
### 禁止蓝牙分享联系人
需要的权限Device owner或Profile owner
需要API23或以上
### 安全日志
需要的权限Device owner
需要API24或以上
### 通用标准模式
需要的权限Device owner
需要API30或以上
### USB信号
需要的权限Device owner或由组织拥有的工作资料的Profile owner
需要API31或以上
有的设备不支持
### 锁屏方式
禁用和启用锁屏方式,需要无锁屏密码
需要的权限Device owner或附属用户的Profile owner
需要API28或以上
### 立即锁屏
选项重新输入密码需API26或以上
需要的权限Device admin
无论勾不勾选这个选项,解锁时都需要重新输入密码
### 请求错误报告
需要API24或以上
需要的权限Device owner
### 重启
需要API24或以上
需要的权限Device owner
### 修改时间
输入从Epoch(1970/1/1 00:00:00 UTC)到你想设置的时间(毫秒)
需要的权限Device owner或由组织拥有的工作资料的Profile owner
### 权限策略
当应用请求权限时执行的操作
- 默认(由用户决定)
- 自动允许
- 自动拒绝
需要的权限Device owner或Profile owner
### MTE策略
MTE: Memory Tagging Extension内存标记拓展[安卓开发者MTE](https://developer.android.google.cn/ndk/guides/arm-mte?hl=zh-cn)
需要安卓14和Armv9
需要的权限Device owner
选项:
- 由用户决定
- 开启
- 关闭
### 附近App共享&附近通知共享
需要的权限Device owner或Profile owner
需要API31或以上
选项:
- 由用户决定
- 启用
- 禁用
- 在足够安全时启用
### 锁定任务模式
需要的权限Device owner
需要API28或以上
选项:
- 禁用全部
- 自定义
- 允许状态栏信息
- 允许通知
- 允许返回主屏幕(启动器需在白名单内)
- 允许打开后台应用概览
- 允许全局行为(比如长按电源键的对话框)
- 允许锁屏(如果不允许,即使有密码也不会锁屏)
- 阻止启动未允许的应用阻止白名单应用启动非白名单应用需要API30
### Ca证书
需要的权限Device owner或Profile owner
需要先选择一个证书(一般是*.0
- 查看这个证书是否已安装
- 安装这个证书
- 卸载这个证书(如果已安装)
或者清除所有用户证书
### 系统更新策略
需要的权限Device owner
查看待安装的更新是否安全补丁
系统更新策略:
- 准备好后立即更新
- 在某段时间里更新
- 延迟30天
- 默认(由用户决定)
### 恢复出厂设置
**谨慎使用**
需要的权限Device admin
选项:
- 默认
- 清除外部存储
- 清除受保护的数据仅Device owner
- 清除eUICC
- 静默清除(不会向用户显示原因)
方法:
- WipeData
- WipeDevice需要API34或以上需要Device owner或由组织拥有的工作资料的Profile owner
如果在受管理用户中使用,会清除那个用户的数据
如果在工作资料中使用,会删除工作资料
## 网络
这个页面需要API24或以上才能进入
### 查看Wi-Fi Mac地址
需要的权限Device owner或由组织拥有的工作资料的Profile owner
需要API24或以上
得到的是设备真实的Wi-Fi Mac地址不是连接Wi-Fi时随机生成的Mac地址
### 网络日志记录
需要的权限Device owner或Profile owner
需要API26或以上
功能开发中
### 优先网络服务
需要的权限Device owner
需要API33或以上
功能开发中
### Wi-Fi锁定
需要的权限Device owner或由组织拥有的工作资料的Profile owner
需要API30或以上
作用未知
### 要求最小Wi-Fi安全等级
需要的权限Device owner或由组织拥有的工作资料的Profile owner
需要API33或以上
选项:
- 开放
- WEP、WPA(2)-PSK
- WPA-EAP
- WPA3-192bit
用户不能连接低于要求的安全等级的Wi-Fi如果已经连接了这样的Wi-Fi会立即断开
### Wi-Fi SSID策略
需要的权限Device owner或由组织拥有的工作资料的Profile owner
需要API33或以上
模式:
- 黑名单
- 白名单
设置用户能连接/不能连接的Wi-Fi
### 私人DNS
需要的权限Device owner
需要API29或以上
可以将私人DNS模式设为自动
也可以设置私人DNS主机名
### Wi-Fi密钥对
需要的权限Device owner或Profile owner
需要API31或以上
可以添加或移除Wi-Fi密钥对
作用未知
### APN设置
需要的权限Device owner
需要API28或以上
有懂这个的大佬吗?
## 工作资料
工作资料是一种特殊的用户,使用`adb shell pm list user`命令可以看到工作资料
### 创建工作资料
设备上不能有Device owner或Profile owner
只能有一个工作资料
选项:
- 跳过加密需要API24或以上没啥用
创建后会跳转到工作资料中的Android owner请立即按照指引激活工作资料
创建后工作资料中的Android owner会成为Profile owner
### 由组织拥有的工作资料
需要API30或以上
成为由组织拥有的工作资料会多很多权限
前提条件Android owner是工作资料中的Profile owner
首先你需要在工作资料中的Android owner的“用户管理”页面中查看UserID
然后使用ADB命令成为由组织拥有的工作资料
```shell
adb shell
dpm mark-profile-owner-on-organization-owned-device --user USER_ID com.binbin.androidowner/com.binbin.androidowner.MyDeviceAdminReceiver
```
把命令中的USER_ID替换为你的UserID
出现“Success”即为成功
### 挂起个人应用
需要的权限由组织拥有的工作资料的Profile owner
### 资料最长关闭时间
需要的权限工作资料的Profile owner
用户可以关闭工作资料,如果关闭工作资料的时间超过了在这里设置的时间,会停用个人应用
设置的时间不能小于72小时
### 跨资料Intent过滤器
[安卓开发者Intent](https://developer.android.google.cn/reference/kotlin/android/content/Intent)
需要的权限工作资料的Profile owner
默认情况下,工作资料中的应用不能打开个人应用,个人应用也不可以打开工作资料中的应用
添加Intent过滤器以允许这些行为
### 组织ID
需要的权限工作资料的Profile owner
需要API31或以上
组织ID长度需在6~64个字符之间
设置组织ID后才能在“权限”页面查看设备唯一标识码不同的组织ID会有不同的设备唯一标识码
## 应用管理
如果是工作资料,只能管理工作资料中的应用
如果是受管理的用户,只能管理那个用户中的应用
除了安装应用所有的操作都需要应用的包名你可以通过ADB命令查看已安装应用的包名
```shell
adb shell pm list packages
```
### 应用详情
跳转到应用详情,不需要任何权限
### 挂起
需要的权限Device owner或Profile owner
需要API24或以上
挂起应用应用图标变为灰色打开时会提示被IT管理员限制
### 隐藏
需要的权限Device owner或Profile owner
深度隐藏。`pm list packages`都看不到隐藏的应用。无法卸载隐藏的应用,因为找不到。你一定要记得隐藏的应用的包名,否则你只能去`/data/app`找被隐藏的应用
### VPN常开
需要的权限Device owner或Profile owner
需要API24或以上
需要应用支持VPN常开
### 防卸载
需要的权限Device owner或Profile owner
用户无法在应用详情卸载应用,也不能使用`adb uninstall``pm uninstall`命令卸载
参考:用户限制->应用->卸载应用
### 禁止用户控制
需要的权限Device owner或Profile owner
需要API30或以上
用户无法清除这些应用的存储空间和缓存,但是可以在这里清除
### 权限管理
需要的权限Device owner或Profile owner
使用这个ADB命令查看系统支持的所有权限
```shell
adb shell pm list permissions
```
权限有三种状态:
- 允许
- 拒绝
- 由用户决定
设为允许或拒绝后用户无法在应用管理修改权限,用户也不能通过`pm grant``pm revoke`修改权限
从允许或拒绝改为由用户决定会保持当前的允许、拒绝状态
在API31或以上Profile owner不能再修改传感器相关权限
### 跨资料应用
需要的权限工作资料的Profile owner
需要API30或以上
设置跨工作资料的应用需要目标应用支持跨资料比如GBoard
### 跨资料微件
需要的权限工作资料的Profile owner
设置跨工作资料的桌面小部件提供者
### 凭据管理策略
需要的权限Device owner
需要API34或以上
作用未知
### 许可的无障碍应用&输入法
需要的权限Device owner或Profile owner
设置许可的无障碍应用和输入法
### 清除应用存储
需要的权限Device owner或Profile owner
需要API28或以上
清除应用的存储空间
### 默认拨号应用
需要的权限Device owner或Profile owner
需要API34或以上
### 卸载应用
- 静默卸载需要Device owner否则没反应
- 请求卸载
### 安装应用
- 静默安装需要Device owner否则没反应
- 请求安装
## 用户限制
需要的权限Device owner或Profile owner
Profile owner无法禁用部分功能工作资料中部分功能无效wearOS部分功能无效
功能前面的数字代表最少需要的API等级
打开开关就是禁用对应的功能,默认情况下所有开关都是关闭的
### 网络与互联网
- 配置移动数据
- 配置Wi-Fi
- (24) 数据漫游
- (34) 使用2G(GSM)
- (34) 超宽频段无线电
- (33) 添加Wi-Fi配置
- (33) 修改Wi-Fi状态
- (33) Wi-Fi直连
- (33) Wi-Fi共享
- (33) 分享设备管理器配置的Wi-Fi
- (23) 重置网络
- 配置网络共享
- 配置VPN
- (29) 配置私人DNS仍可以在网络中设置[私人DNS](#私人DNS)
- (28) 飞行模式
- 配置小区广播
- 短信
- 拨出电话
### 更多连接
- (26) 蓝牙
- (26) 蓝牙共享
- 分享位置
- (28) 配置位置信息
- (22) Beam发送
- USB文件传输
- 挂载物理媒体TF卡、U盘等
- (28) 打印
### 应用
- 安装应用
- (29) 安装未知来源应用(全局)
- 安装未知来源应用
- 卸载应用
- 控制应用
- (34) 修改默认APP
### 媒体
- (28) 调整亮度
- (28) 修改屏幕超时(仍可以在密码与锁屏中设置[屏幕超时](#屏幕超时)
- (28) 息屏显示 (AMOLED)
- 调整音量
- 取消麦克风静音
- (31) 切换摄像头使用权限
- (31) 切换麦克风使用权限
### 用户
- 添加用户(仍可以在用户管理中[创建用户](#创建用户)
- 移除用户(仍可以在用户管理中[移除用户](#用户操作)
- (28) 切换用户
- (24) 修改用户头像
- 跨用户复制(包括工作资料)
- (28) 分享至工作应用
- (28) 个人和工作密码相同
### 其他
- (26) 自动填充服务
- 配置凭据
- (29) 内容捕获(作用未知)
- (29) 内容建议(作用未知)
- 创建窗口比如Toast
- (24) 更换壁纸
- (34) 启用设备管理器设备管理器就是Device admin
- (23) 娱乐(仅谷歌商店里的应用)
- 修改账号设置
- (28) 修改语言
- (28) 修改日期、时间
- (28) 系统报错对话框
- 恢复出厂设置
- (23) 安全模式(开机时通过特定按键组合进入的模式)
- 调试功能
## 用户管理
### 用户信息
当前用户的信息
系统用户UserID为0的用户需API23
无头系统用户:~~头被砍掉了~~ 系统用户运行着系统服务但是没有分配给任何人使用也不能切换到系统用户需API31
可以登出:用户限制->[用户](#用户)->切换用户需API28
临时用户临时用户登出后会被删除需API28
附属用户运行Device owner的用户是附属于设备的用户受管理用户可以设置附属用户ID以成为附属用户开发中
UserID不是UID。系统用户的UserID为0其他用户包括工作资料的UserID从10开始计算
序列号:每个用户都不同的序列号
### 用户操作
- 登出当前用户需要是附属用户的Profile owner需API28如果是无头系统用户模式会切换到前台用户
- 在后台启动用户需Device owner和API28
- 切换至用户需Device owner
- 停止用户需Device owner和API28
- 移除用户需Device owner
### 创建并管理用户
创建一个受管理用户
需要Device owner和API24
选项:
- 跳过创建用户向导(切换到新用户之后的向导)
- 临时用户需API28
- 启用所有系统应用有些系统应用在新用户中是默认不启用的比如谷歌手机上的YouTube
### 用户名
修改当前用户的用户名
需要Device owner或Profile owner
### 用户会话开始/结束消息
用户会话开始消息:切换到非系统用户时的消息
用户会话结束消息:切换回系统用户时的消息
## 密码与锁屏
**谨慎使用**
**警告!**手表不支持带字母的密码也不支持超过4位的PIN码如果你设置了这样的密码或密码复杂度要求你将无法解锁你的手表
### 密码信息
当前密码复杂度:参考要求密码复杂度
密码达到要求:当前密码复杂度是否达到了要求的密码复杂度
密码已错误次数你能看到这个数字的时候这个数字一定是0
个人与工作应用密码一致需要是工作资料的Profile owner
### 密码重置令牌
需要Device owner或Profile owner
需API26或以上
操作:
- 清除令牌
- 设置令牌(如果无锁屏密码,会自动激活令牌)
- 激活令牌(如果有锁屏密码,会跳转到设置中,要求输入锁屏密码)
暂不支持自己输入令牌
### 修改密码
需要4位或以上密码
选项:
- 开机时不要求输入密码(**危险!**一旦设置,只能通过恢复出厂设置来取消)
- 不允许其他设备管理员重置密码直至用户输入一次密码
方法:
- 使用令牌重置密码需API26或以上
- 重置密码弃用API24之前Device admin可使用。API24或以上Device admin只能在没有密码时设置密码Device owner和Profile owner仍可以在用户解锁设备后更改密码。API26或以上弃用
### 最大密码错误次数
需要Device owner
输入密码错误次数达到限制后会恢复出厂设置前提是Android owner有权限恢复出厂设置
### 密码失效超时时间
需要Device owner
一个密码使用的时间超过这个时间后会要求用户重新设置密码
### 密码历史记录长度
需要Device owner
用户无法输入历史记录内相同的密码
不知道有啥用
### 最大屏幕超时时间
需要Device owner
如果设备无用户交互的时间达到屏幕超时时间就会锁定屏幕默认是0由用户决定在这里设置屏幕超时时间后用户只能设置比这个短的屏幕超时时间
### 密码复杂度要求
需要API31或以上
需要Device owner或Profile owner
有4个密码复杂度等级
1. 无(允许不设密码)
2. 低(允许图案和连续性)
3.无连续性至少4位
4.无连续性至少6位
连续性密码重复6666或密码递增递减4321、2468
要求设置新密码:跳转到设置中要求设置新密码,用户也可以选择不设置
### 锁屏功能
需要Device ownerProfile owner或许也可以
模式:
- 允许全部
- 禁用全部
- 自定义
自定义的项目:
- 禁用小工具API21或以上弃用Android owner的最小兼容API版本21所以这个功能没用
- 禁用相机
- 禁用通知(不知道是否包含音乐播放器)
- 禁用未经编辑的通知(作用未知)
- 禁用可信代理
- 禁用指纹解锁
- 禁止远程输入弃用需要API24作用未知
- 禁用人脸解锁需API28或以上
- 禁用虹膜解锁需API28或以上真的有人用得到吗
- 禁用生物识别包括指纹面部虹膜需API28或以上
- 禁用快捷方式需API34或以上
### 密码质量要求
需要Device owner或Profile owner
API31及以上弃用请使用[密码复杂度要求](#密码复杂度要求)
质量要求:
- 无要求(默认)
- 需要密码或图案,不管复杂度
- 至少一个字母
- 至少一个数字
- 数字字母各至少一个
- 生物识别(弱)
- 复杂数字(无连续性)
- 自定义(现在不支持,以后也不会支持,因为这已经弃用了)

View File

@@ -13,45 +13,21 @@
### 缺点
不支持一些 Device admin 和 Device owner 功能。如果追求功能齐全,谷歌官方的 [TestDPC](https://github.com/googlesamples/android-testdpc) 可能更适合你
不支持一些功能。如果追求功能齐全,谷歌官方的 [TestDPC](https://github.com/googlesamples/android-testdpc) 可能更适合你
### 功能
### 功能简介
适配了一些预见式返回动画需安卓13或14可能不太稳定如果有问题请向我反馈
- 设备控制
- 重启、锁屏
- 禁用相机
- 禁止截屏
- 全局静音
- 关闭USB信号需设备支持
- 设置时间
- 管理系统更新策略
- 恢复出厂设置
- 系统
- 网络
- 工作资料
- 应用管理
- 隐藏应用
- 停用应用
- 禁止卸载应用
- 应用权限管理
- 清除应用数据
- 安装、卸载应用
- 用户限制
- 网络和互联网禁止使用流量、WiFi、VPN、私人DNS
- 其他连接禁止使用蓝牙、位置信息、NFC、USB(MTP)
- 应用:禁止安装卸载应用、禁止清除应用的存储空间
- 显示与音量:禁止调整亮度、音量
- 用户和工作资料:禁止添加/切换/移除用户,禁止添加/移除工作资料
- 杂项:禁止自动填充服务、禁止调试
- 用户管理
- 添加、启动、切换、停止、移除用户
- 修改当前用户的名称
- 设置切换用户时的提示
- 密码
- 修改密码
- 最大密码错误次数
- 密码失效超时时间
- 设置密码复杂度要求
- 修改锁屏可用功能
- 密码与锁屏
所有功能的详细介绍请看 [用户指南](Guide.md)
### 这个应用十分危险!!!
@@ -63,6 +39,7 @@
- 应用管理:包选择器(目前只能手动输入包名)
- 应用管理:应用权限选择器
- 用户管理:用户选择器(目前只能手动输入用户序列号)
- 安全日志和网络日志
### 许可证