mirror of
https://github.com/awfixers-stuff/OwnDroid.git
synced 2026-03-23 11:05:59 +00:00
Change the default readme to English, close #184
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
[English](Readme-en.md) | [简体中文](Readme.md)
|
[English](Readme.md) | [简体中文](Readme-zh_CN.md)
|
||||||
|
|
||||||
> [!important]
|
> [!important]
|
||||||
> The Japanese readme need update
|
> The Japanese readme need update
|
||||||
|
|||||||
@@ -1,69 +1,69 @@
|
|||||||
[日本語](Readme-ja.md) | [简体中文](Readme.md)
|
[English](Readme.md) | [日本語](Readme-ja.md)
|
||||||
|
|
||||||
# OwnDroid
|
# OwnDroid
|
||||||
|
|
||||||
Use Android's DevicePolicyManager API to manage your device.
|
使用安卓的设备策略管理器API管理你的设备。
|
||||||
|
|
||||||
## Download
|
## 下载
|
||||||
|
|
||||||
- [IzzyOnDroid F-Droid Repository](https://apt.izzysoft.de/fdroid/index/apk/com.bintianqi.owndroid)
|
- [IzzyOnDroid F-Droid Repository](https://apt.izzysoft.de/fdroid/index/apk/com.bintianqi.owndroid)
|
||||||
- [Releases on GitHub](https://github.com/BinTianqi/OwnDroid/releases)
|
- [Releases on GitHub](https://github.com/BinTianqi/OwnDroid/releases)
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> ColorOS users should download testkey version from releases on GitHub
|
> ColorOS用户应在GitHub上的releases下载testkey版本
|
||||||
|
|
||||||
## Features
|
## 功能
|
||||||
|
|
||||||
- System: disable camera, disable screenshot, master volume mute, disable USB signal, lock task mode, wipe data...
|
- 系统:禁用摄像头、禁止截屏、全局静音、禁用USB信号、锁定任务模式、清除数据...
|
||||||
- Network: add/modify/delete Wi-Fi, network stats, network logging...
|
- 网络:添加/修改/删除 Wi-Fi、网络统计、网络日志...
|
||||||
- Applications: suspend/hide app, block app uninstallation, grant/revoke permissions, clear app storage, install/uninstall app...
|
- 应用:挂起/隐藏应用、阻止应用卸载、授予/撤销权限、清除应用存储、安装/卸载应用...
|
||||||
- User restriction: disable SMS, disable outgoing call, disable bluetooth, disable NFC, disable USB file transfer, disable app installing/uninstalling...
|
- 用户限制:禁止发送短信、禁止拨出电话、禁用蓝牙、禁用NFC、禁用USB文件传输、禁止安装/卸载应用...
|
||||||
- Users: user information, create/start/switch/stop/delete user...
|
- 用户:用户信息、创建/启动/切换/停止/删除用户...
|
||||||
- Password and keyguard: reset password, set screen timeout...
|
- 密码与锁屏:重置密码、设置屏幕超时...
|
||||||
|
|
||||||
## Working modes
|
## 工作模式
|
||||||
|
|
||||||
- Device owner (recommended)
|
- Device owner(推荐)
|
||||||
|
|
||||||
Activating methods:
|
激活方式:
|
||||||
- Shizuku
|
- Shizuku
|
||||||
- Dhizuku
|
- Dhizuku
|
||||||
- Root
|
- Root
|
||||||
- ADB shell command `dpm set-device-owner com.bintianqi.owndroid/.Receiver`
|
- ADB shell命令 `dpm set-device-owner com.bintianqi.owndroid/.Receiver`
|
||||||
- [Dhizuku](https://github.com/iamr0s/Dhizuku)
|
- [Dhizuku](https://github.com/iamr0s/Dhizuku)
|
||||||
- Work profile
|
- 工作资料
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
### Already some accounts on the device
|
### 设备上有账号
|
||||||
|
|
||||||
```text
|
```text
|
||||||
java.lang.IllegalStateException: Not allowed to set the device owner because there are already some accounts on the device
|
java.lang.IllegalStateException: Not allowed to set the device owner because there are already some accounts on the device
|
||||||
```
|
```
|
||||||
|
|
||||||
Solutions:
|
解决办法:
|
||||||
- Freeze apps who hold those accounts.
|
- 冻结持有这些账号的app。
|
||||||
- Delete these accounts.
|
- 删除这些账号。
|
||||||
|
|
||||||
### Already several users on the device
|
### 设备上有多个用户
|
||||||
|
|
||||||
```text
|
```text
|
||||||
java.lang.IllegalStateException: Not allowed to set the device owner because there are already several users on the device
|
java.lang.IllegalStateException: Not allowed to set the device owner because there are already several users on the device
|
||||||
```
|
```
|
||||||
|
|
||||||
Solutions:
|
解决办法:
|
||||||
- Delete secondary users.
|
- 删除次级用户。
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> Some systems have features such as app cloning and children space, which are usually users.
|
> 一些系统有应用克隆、儿童空间等功能,它们通常是用户。
|
||||||
|
|
||||||
#### Device owner is already set
|
#### Device owner 已存在
|
||||||
|
|
||||||
```text
|
```text
|
||||||
java.lang.IllegalStateException: Trying to set the device owner (com.bintianqi.owndroid/.Receiver), but device owner (xxx) is already set.
|
java.lang.IllegalStateException: Trying to set the device owner (com.bintianqi.owndroid/.Receiver), but device owner (xxx) is already set.
|
||||||
```
|
```
|
||||||
|
|
||||||
Only 1 device owner can exist on a device. Please deactivate the existing device owner first.
|
一个设备只能存在一个device owner,请先停用已存在的device owner。
|
||||||
|
|
||||||
### MIUI & HyperOS
|
### MIUI & HyperOS
|
||||||
|
|
||||||
@@ -71,9 +71,7 @@ Only 1 device owner can exist on a device. Please deactivate the existing device
|
|||||||
java.lang.SecurityException: Neither user 2000 nor current process has android.permission.MANAGE_DEVICE_ADMINS.
|
java.lang.SecurityException: Neither user 2000 nor current process has android.permission.MANAGE_DEVICE_ADMINS.
|
||||||
```
|
```
|
||||||
|
|
||||||
Solutions:
|
解决办法: 在开发者设置中打开`USB调试(安全设置)`,或在root命令行中执行激活命令。
|
||||||
- Enable `USB debugging (Security setting)` in developer options.
|
|
||||||
- Or execute activating command in root shell.
|
|
||||||
|
|
||||||
### ColorOS
|
### ColorOS
|
||||||
|
|
||||||
@@ -81,19 +79,19 @@ Solutions:
|
|||||||
java.lang.IllegalStateException: Unexpected @ProvisioningPreCondition
|
java.lang.IllegalStateException: Unexpected @ProvisioningPreCondition
|
||||||
```
|
```
|
||||||
|
|
||||||
Solution: Use OwnDroid testkey version
|
解决办法:使用 OwnDroid testkey 版本
|
||||||
|
|
||||||
### Samsung
|
### 三星
|
||||||
|
|
||||||
```text
|
```text
|
||||||
user limit reached
|
user limit reached
|
||||||
```
|
```
|
||||||
|
|
||||||
Samsung restricts Android's multiple users feature. There is currently no solution.
|
三星限制了多用户功能,暂无解决办法。
|
||||||
|
|
||||||
## API
|
## API
|
||||||
|
|
||||||
OwnDroid provides an Intent-based API. You need to set the API key in settings and enable the API. The numbers in brackets represent the minimum Android version required.
|
OwnDroid提供了一个基于Intent的API。你需要在设置中设置密钥并启用API。括号中的数字是最小的安卓版本。
|
||||||
|
|
||||||
- HIDE(package: String)
|
- HIDE(package: String)
|
||||||
- UNHIDE(package: String)
|
- UNHIDE(package: String)
|
||||||
@@ -114,12 +112,12 @@ OwnDroid provides an Intent-based API. You need to set the API key in settings a
|
|||||||
- REBOOT() (7)
|
- REBOOT() (7)
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# An example of hiding app in ADB shell
|
# 一个在ADB shell中隐藏app的示例
|
||||||
am broadcast -a com.bintianqi.owndroid.action.HIDE -n com.bintianqi.owndroid/.ApiReceiver --es key abcdefg --es package com.example.app
|
am broadcast -a com.bintianqi.owndroid.action.HIDE -n com.bintianqi.owndroid/.ApiReceiver --es key abcdefg --es package com.example.app
|
||||||
```
|
```
|
||||||
|
|
||||||
```kotlin
|
```kotlin
|
||||||
// An example of hiding app in Kotlin
|
// 一个在Kotlin中隐藏app的示例
|
||||||
val intent = Intent("com.bintianqi.owndroid.action.HIDE")
|
val intent = Intent("com.bintianqi.owndroid.action.HIDE")
|
||||||
.setComponent(ComponentName("com.bintianqi.owndroid", "com.bintianqi.owndroid.ApiReceiver"))
|
.setComponent(ComponentName("com.bintianqi.owndroid", "com.bintianqi.owndroid.ApiReceiver"))
|
||||||
.putExtra("key", "abcdefg")
|
.putExtra("key", "abcdefg")
|
||||||
@@ -127,20 +125,20 @@ val intent = Intent("com.bintianqi.owndroid.action.HIDE")
|
|||||||
context.sendBroadcast(intent)
|
context.sendBroadcast(intent)
|
||||||
```
|
```
|
||||||
|
|
||||||
[Available user restrictions](https://developer.android.com/reference/android/os/UserManager#constants_1)
|
[可用的用户限制](https://developer.android.google.cn/reference/android/os/UserManager#constants_1)
|
||||||
|
|
||||||
## Build
|
## 构建
|
||||||
|
|
||||||
You can use Gradle in command line to build OwnDroid.
|
你可以在命令行中使用Gradle以构建OwnDroid
|
||||||
```shell
|
```shell
|
||||||
# Use testkey for signing (default)
|
# 使用testkey签名(默认)
|
||||||
./gradlew build
|
./gradlew build
|
||||||
# Use your custom .jks key for signing
|
# 使用你的jks密钥签名
|
||||||
./gradlew build -PStoreFile="/path/to/your/jks/file" -PStorePassword="YOUR_KEYSTORE_PASSWORD" -PKeyPassword="YOUR_KEY_PASSWORD" -PKeyAlias="YOUR_KEY_ALIAS"
|
./gradlew build -PStoreFile="/path/to/your/jks/file" -PStorePassword="YOUR_KEYSTORE_PASSWORD" -PKeyPassword="YOUR_KEY_PASSWORD" -PKeyAlias="YOUR_KEY_ALIAS"
|
||||||
```
|
```
|
||||||
(Use `./gradlew.bat` instead on Windows)
|
(在Windows系统中应使用`./gradlew.bat`)
|
||||||
|
|
||||||
## License
|
## 许可证
|
||||||
|
|
||||||
[License.md](LICENSE.md)
|
[License.md](LICENSE.md)
|
||||||
|
|
||||||
82
Readme.md
82
Readme.md
@@ -1,69 +1,69 @@
|
|||||||
[English](Readme-en.md) | [日本語](Readme-ja.md)
|
[简体中文](Readme-zh_CN.md) | [日本語](Readme-ja.md)
|
||||||
|
|
||||||
# OwnDroid
|
# OwnDroid
|
||||||
|
|
||||||
使用安卓的设备策略管理器API管理你的设备。
|
Use Android's DevicePolicyManager API to manage your device.
|
||||||
|
|
||||||
## 下载
|
## Download
|
||||||
|
|
||||||
- [IzzyOnDroid F-Droid Repository](https://apt.izzysoft.de/fdroid/index/apk/com.bintianqi.owndroid)
|
- [IzzyOnDroid F-Droid Repository](https://apt.izzysoft.de/fdroid/index/apk/com.bintianqi.owndroid)
|
||||||
- [Releases on GitHub](https://github.com/BinTianqi/OwnDroid/releases)
|
- [Releases on GitHub](https://github.com/BinTianqi/OwnDroid/releases)
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> ColorOS用户应在GitHub上的releases下载testkey版本
|
> ColorOS users should download testkey version from releases on GitHub
|
||||||
|
|
||||||
## 功能
|
## Features
|
||||||
|
|
||||||
- 系统:禁用摄像头、禁止截屏、全局静音、禁用USB信号、锁定任务模式、清除数据...
|
- System: disable camera, disable screenshot, master volume mute, disable USB signal, lock task mode, wipe data...
|
||||||
- 网络:添加/修改/删除 Wi-Fi、网络统计、网络日志...
|
- Network: add/modify/delete Wi-Fi, network stats, network logging...
|
||||||
- 应用:挂起/隐藏应用、阻止应用卸载、授予/撤销权限、清除应用存储、安装/卸载应用...
|
- Applications: suspend/hide app, block app uninstallation, grant/revoke permissions, clear app storage, install/uninstall app...
|
||||||
- 用户限制:禁止发送短信、禁止拨出电话、禁用蓝牙、禁用NFC、禁用USB文件传输、禁止安装/卸载应用...
|
- User restriction: disable SMS, disable outgoing call, disable bluetooth, disable NFC, disable USB file transfer, disable app installing/uninstalling...
|
||||||
- 用户:用户信息、创建/启动/切换/停止/删除用户...
|
- Users: user information, create/start/switch/stop/delete user...
|
||||||
- 密码与锁屏:重置密码、设置屏幕超时...
|
- Password and keyguard: reset password, set screen timeout...
|
||||||
|
|
||||||
## 工作模式
|
## Working modes
|
||||||
|
|
||||||
- Device owner(推荐)
|
- Device owner (recommended)
|
||||||
|
|
||||||
激活方式:
|
Activating methods:
|
||||||
- Shizuku
|
- Shizuku
|
||||||
- Dhizuku
|
- Dhizuku
|
||||||
- Root
|
- Root
|
||||||
- ADB shell命令 `dpm set-device-owner com.bintianqi.owndroid/.Receiver`
|
- ADB shell command `dpm set-device-owner com.bintianqi.owndroid/.Receiver`
|
||||||
- [Dhizuku](https://github.com/iamr0s/Dhizuku)
|
- [Dhizuku](https://github.com/iamr0s/Dhizuku)
|
||||||
- 工作资料
|
- Work profile
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
### 设备上有账号
|
### Already some accounts on the device
|
||||||
|
|
||||||
```text
|
```text
|
||||||
java.lang.IllegalStateException: Not allowed to set the device owner because there are already some accounts on the device
|
java.lang.IllegalStateException: Not allowed to set the device owner because there are already some accounts on the device
|
||||||
```
|
```
|
||||||
|
|
||||||
解决办法:
|
Solutions:
|
||||||
- 冻结持有这些账号的app。
|
- Freeze apps who hold those accounts.
|
||||||
- 删除这些账号。
|
- Delete these accounts.
|
||||||
|
|
||||||
### 设备上有多个用户
|
### Already several users on the device
|
||||||
|
|
||||||
```text
|
```text
|
||||||
java.lang.IllegalStateException: Not allowed to set the device owner because there are already several users on the device
|
java.lang.IllegalStateException: Not allowed to set the device owner because there are already several users on the device
|
||||||
```
|
```
|
||||||
|
|
||||||
解决办法:
|
Solutions:
|
||||||
- 删除次级用户。
|
- Delete secondary users.
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> 一些系统有应用克隆、儿童空间等功能,它们通常是用户。
|
> Some systems have features such as app cloning and children space, which are usually users.
|
||||||
|
|
||||||
#### Device owner 已存在
|
#### Device owner is already set
|
||||||
|
|
||||||
```text
|
```text
|
||||||
java.lang.IllegalStateException: Trying to set the device owner (com.bintianqi.owndroid/.Receiver), but device owner (xxx) is already set.
|
java.lang.IllegalStateException: Trying to set the device owner (com.bintianqi.owndroid/.Receiver), but device owner (xxx) is already set.
|
||||||
```
|
```
|
||||||
|
|
||||||
一个设备只能存在一个device owner,请先停用已存在的device owner。
|
Only 1 device owner can exist on a device. Please deactivate the existing device owner first.
|
||||||
|
|
||||||
### MIUI & HyperOS
|
### MIUI & HyperOS
|
||||||
|
|
||||||
@@ -71,7 +71,9 @@ java.lang.IllegalStateException: Trying to set the device owner (com.bintianqi.o
|
|||||||
java.lang.SecurityException: Neither user 2000 nor current process has android.permission.MANAGE_DEVICE_ADMINS.
|
java.lang.SecurityException: Neither user 2000 nor current process has android.permission.MANAGE_DEVICE_ADMINS.
|
||||||
```
|
```
|
||||||
|
|
||||||
解决办法: 在开发者设置中打开`USB调试(安全设置)`,或在root命令行中执行激活命令。
|
Solutions:
|
||||||
|
- Enable `USB debugging (Security setting)` in developer options.
|
||||||
|
- Or execute activating command in root shell.
|
||||||
|
|
||||||
### ColorOS
|
### ColorOS
|
||||||
|
|
||||||
@@ -79,19 +81,19 @@ java.lang.SecurityException: Neither user 2000 nor current process has android.p
|
|||||||
java.lang.IllegalStateException: Unexpected @ProvisioningPreCondition
|
java.lang.IllegalStateException: Unexpected @ProvisioningPreCondition
|
||||||
```
|
```
|
||||||
|
|
||||||
解决办法:使用 OwnDroid testkey 版本
|
Solution: Use OwnDroid testkey version
|
||||||
|
|
||||||
### 三星
|
### Samsung
|
||||||
|
|
||||||
```text
|
```text
|
||||||
user limit reached
|
user limit reached
|
||||||
```
|
```
|
||||||
|
|
||||||
三星限制了多用户功能,暂无解决办法。
|
Samsung restricts Android's multiple users feature. There is currently no solution.
|
||||||
|
|
||||||
## API
|
## API
|
||||||
|
|
||||||
OwnDroid提供了一个基于Intent的API。你需要在设置中设置密钥并启用API。括号中的数字是最小的安卓版本。
|
OwnDroid provides an Intent-based API. You need to set the API key in settings and enable the API. The numbers in brackets represent the minimum Android version required.
|
||||||
|
|
||||||
- HIDE(package: String)
|
- HIDE(package: String)
|
||||||
- UNHIDE(package: String)
|
- UNHIDE(package: String)
|
||||||
@@ -112,12 +114,12 @@ OwnDroid提供了一个基于Intent的API。你需要在设置中设置密钥并
|
|||||||
- REBOOT() (7)
|
- REBOOT() (7)
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# 一个在ADB shell中隐藏app的示例
|
# An example of hiding app in ADB shell
|
||||||
am broadcast -a com.bintianqi.owndroid.action.HIDE -n com.bintianqi.owndroid/.ApiReceiver --es key abcdefg --es package com.example.app
|
am broadcast -a com.bintianqi.owndroid.action.HIDE -n com.bintianqi.owndroid/.ApiReceiver --es key abcdefg --es package com.example.app
|
||||||
```
|
```
|
||||||
|
|
||||||
```kotlin
|
```kotlin
|
||||||
// 一个在Kotlin中隐藏app的示例
|
// An example of hiding app in Kotlin
|
||||||
val intent = Intent("com.bintianqi.owndroid.action.HIDE")
|
val intent = Intent("com.bintianqi.owndroid.action.HIDE")
|
||||||
.setComponent(ComponentName("com.bintianqi.owndroid", "com.bintianqi.owndroid.ApiReceiver"))
|
.setComponent(ComponentName("com.bintianqi.owndroid", "com.bintianqi.owndroid.ApiReceiver"))
|
||||||
.putExtra("key", "abcdefg")
|
.putExtra("key", "abcdefg")
|
||||||
@@ -125,20 +127,20 @@ val intent = Intent("com.bintianqi.owndroid.action.HIDE")
|
|||||||
context.sendBroadcast(intent)
|
context.sendBroadcast(intent)
|
||||||
```
|
```
|
||||||
|
|
||||||
[可用的用户限制](https://developer.android.google.cn/reference/android/os/UserManager#constants_1)
|
[Available user restrictions](https://developer.android.com/reference/android/os/UserManager#constants_1)
|
||||||
|
|
||||||
## 构建
|
## Build
|
||||||
|
|
||||||
你可以在命令行中使用Gradle以构建OwnDroid
|
You can use Gradle in command line to build OwnDroid.
|
||||||
```shell
|
```shell
|
||||||
# 使用testkey签名(默认)
|
# Use testkey for signing (default)
|
||||||
./gradlew build
|
./gradlew build
|
||||||
# 使用你的jks密钥签名
|
# Use your custom .jks key for signing
|
||||||
./gradlew build -PStoreFile="/path/to/your/jks/file" -PStorePassword="YOUR_KEYSTORE_PASSWORD" -PKeyPassword="YOUR_KEY_PASSWORD" -PKeyAlias="YOUR_KEY_ALIAS"
|
./gradlew build -PStoreFile="/path/to/your/jks/file" -PStorePassword="YOUR_KEYSTORE_PASSWORD" -PKeyPassword="YOUR_KEY_PASSWORD" -PKeyAlias="YOUR_KEY_ALIAS"
|
||||||
```
|
```
|
||||||
(在Windows系统中应使用`./gradlew.bat`)
|
(Use `./gradlew.bat` instead on Windows)
|
||||||
|
|
||||||
## 许可证
|
## License
|
||||||
|
|
||||||
[License.md](LICENSE.md)
|
[License.md](LICENSE.md)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user