Files
OwnDroid/Readme.md
2025-02-16 13:28:56 +08:00

148 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[English](Readme-en.md)
# OwnDroid
使用安卓Device owner特权管理你的设备。
## 下载
[IzzyOnDroid F-Droid Repository](https://apt.izzysoft.de/fdroid/index/apk/com.bintianqi.owndroid)
[Releases on GitHub](https://github.com/BinTianqi/OwnDroid/releases)
## 功能
- 系统
- 选项禁用摄像头、禁止截屏、全局静音、禁用USB信号...
- 权限策略
- 管理CA证书
- _清除数据_
- ...
- 网络
- 添加/修改/删除 Wi-Fi
- 网络统计
- 最小Wi-Fi安全等级
- VPN保持打开
- 网络日志
- ...
- 工作资料
- 创建工作资料
- 挂起个人应用
- ...
- 应用管理
- 挂起/隐藏应用
- 阻止应用卸载
- 安装/卸载应用
- ...
- 用户限制
- 网络禁止配置移动网络、禁止配置Wi-Fi、禁用短信、禁止拨出电话...
- 连接禁用蓝牙、禁止配置定位、禁用USB文件传输、禁用打印...
- 应用:禁止安装/卸载应用...
- 用户:禁止添加/删除/切换用户...
- 媒体:禁止调整亮度、禁止调整音量...
- 其他:禁止修改账号、禁止修改语言、禁止恢复出厂设置、禁用调试功能...
- 用户管理
- 用户信息
- 启动/切换/停止/删除用户
- 创建用户
- ...
- 密码与锁屏
- _重置密码_
- 要求密码复杂度
- 设置屏幕超时
- ...
## 激活
- Shizuku (推荐)
- 在ADB命令行中执行命令: `dpm set-device-owner com.bintianqi.owndroid/.Receiver`
## FAQ
### 激活
#### 设备上有账号
```text
java.lang.IllegalStateException: Not allowed to set the device owner because there are already some accounts on the device
```
解决办法:
- 冻结持有这些账号的app。
- 删除这些账号。
- 使用LSPosed模块 [HookDPM](https://github.com/BinTianqi/HookDPM)。
#### 设备上有多个用户
```text
java.lang.IllegalStateException: Not allowed to set the device owner because there are already several users on the device
```
解决办法:
- 删除次级用户。
- 使用LSPosed模块[HookDPM](https://github.com/BinTianqi/HookDPM)。
> [!NOTE]
> 一些系统有应用克隆、儿童空间等功能,它们通常是用户。
#### MIUI
```text
java.lang.SecurityException: Neither user 2000 nor current process has android.permission.MANAGE_DEVICE_ADMINS.
```
解决办法:
- 在开发者设置中打开`USB调试安全设置`
- 在root命令行中执行激活命令
#### ColorOS
```text
java.lang.IllegalStateException: Unexpected @ProvisioningPreCondition
```
解决办法:使用 OwnDroid testkey 版本
## API
| ID | 描述 | Extras | 最小安卓版本 |
|:---------:|----------|--------------------|:------:|
| HIDE | 隐藏一个应用 | `package`: 目标应用的包名 | |
| UNHIDE | 取消隐藏一个应用 | `package`: 目标应用的包名 | |
| SUSPEND | 挂起一个应用 | `package`: 目标应用的包名 | 7 |
| UNSUSPEND | 取消挂起一个应用 | `package`: 目标应用的包名 | 7 |
| LOCK | 锁屏 | | |
在adb shell中使用API
```shell
am broadcast -a com.bintianqi.owndroid.action.<ID> -n com.bintianqi.owndroid/.ApiReceiver --es key <API_KEY>
# 示例
am broadcast -a com.bintianqi.owndroid.action.HIDE -n com.bintianqi.owndroid/.ApiReceiver --es key abcdefg --es package com.example.app
```
如果返回值为0操作成功
## 构建
你可以在命令行中使用Gradle以构建OwnDroid
```shell
# 使用testkey签名默认
./gradlew build
# 使用你的jks密钥签名
./gradlew build -PStoreFile="/path/to/your/jks/file" -PStorePassword="YOUR_KEYSTORE_PASSWORD" -PKeyPassword="YOUR_KEY_PASSWORD" -PKeyAlias="YOUR_KEY_ALIAS"
```
在Windows系统中应使用`./gradlew.bat`)
> [!TIP]
> 在中国大陆下载Gradle速度慢打开`gradle/wrapper/gradle-wrapper.properties`文件,注释官方下载地址,取消注释一个镜像地址。
## 许可证
[License.md](LICENSE.md)
> Copyright (C) 2024 BinTianqi
>
> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
>
> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
>
> You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.