デバイス所有権
デバイスオーナーとは何ですか?
デバイスオーナーは、Android の高度な管理モードです。Chastify をデバイスオーナーに設定すると、Android は通常のデバイス管理者よりも強力なポリシー制御をアプリに提供します。Chastify では、これはデバイス制御と組み合わせて使用され、制御セッション中に電話を完全に制限したいユーザーのために、選択した制御の削除をはるかに困難にします。
Chastifyではこれはオプションです。ほとんどのユーザーは必要としないでしょう。
デバイスオーナーは、ADB を介してユーザー自身が有効にする高度な Android 管理モードです。設定方法、OEM による副作用の可能性、問題が発生した場合のデバイスの復旧またはリセット方法を理解している端末でのみ使用してください。Chastify は、Android が許可する範囲で独自の制限を適用および解除するためのツールを提供しますが、デバイスオーナーを有効にするかどうかはユーザーの責任です。ほとんどのユーザーにとって、標準のデバイスコントロールとデバイス管理者、およびオプションのセキュア設定の復旧で十分です。
デバイスオーナーのサポートは現在テスト中です。Androidエミュレーターではテスト済みですが、エミュレーターテスト以外の実機では広くテストされていません。そのため、AndroidまたはOEM固有の予期しない動作が発生する可能性があります。この機能を試したい場合は、まずAndroidエミュレーターまたは予備の実機でテストしてください。
デバイス所有者は、Chastifyに以下のことを許可できます。
- サポートされているAndroidバージョンでセーフモードをブロックします
- 明示的に有効にした場合、ADB/デバッグ機能をブロックします。
- Androidの設定から工場出荷時設定へのリセットを防止する
- Chastifyのアンインストールを防止します
- プロビジョニング中にデバイスがバックアップを無効にした場合は、Androidのバックアップを再度有効にします。
- 回復が許可されたら、Chastifyからこれらの制限を再度解除してください。
重要な制限事項
デバイスオーナー権限は、管理対象の電話機、キオスク端末、および企業向けデバイス向けに設計されています。これは通常のアプリ権限とは異なります。
考えられる副作用には以下のようなものがあります。
- Chastifyがデバイスオーナーである場合、一部のOEMサービスが動作しなくなる可能性があります。
- デバッグ制限が有効になっている場合、Android Studio または ADB のワークフローが難しくなる可能性があります。
- アプリの再インストール/再デプロイの動作は、通常のアプリのアップデートとは異なる場合があります。
- Androidでデバイス所有者の設定を行うには、アカウントの削除または工場出荷時設定へのリセットが必要になる場合があります。
- 一部の制限事項については、Androidが変更を完全に反映するまでに再起動が必要になる場合があります。
Samsung デバイスは、デバイス オーナー モードに特に敏感です。Android と One UI のバージョンによっては、サードパーティ製アプリがデバイス オーナーモードになっている間、以下のような一部の Samsung サービスが正常に動作しない場合があります。
- セキュアフォルダ
- サムスンパス
- スマートスイッチの復旧フロー
- サムスンキッズ
- 一部の古いAndroidバージョンでのクイックシェア
これはAndroid/OEMの動作であり、Chastify固有のロックではありません。これらの機能が重要な場合は、まず予備のデバイスでデバイスオーナー機能をテストしてください。
始める前に
必要なもの:
- Chastify Android アプリがインストールされました
- ADBがインストールされたコンピュータ
- USBデバッグが有効になっています
- インストールされたままになるパッケージは、Chastify と同じです:
net.chastify.app
また、以下のことも必要になる場合があります。
- セットアップ前にGoogle/Samsung/OEMアカウントを削除してください。
- セットアップ前にロック画面のセキュリティを解除してください。
- 新しいデバイスまたはエミュレーターを使用してください
- Androidがデバイス所有者を割り当てない場合は、工場出荷時設定にリセットしてください。
設定前にアカウントを確認してください
Androidは、デバイスに既にアカウントが存在する場合、デバイス所有者の設定を拒否することがよくあります。
以下の条件を満たすアカウントを一覧表示します。
adb shell dumpsys account | grep "Account {" | grep -v "Session"
Windows PowerShellまたはコマンドプロンプトでは、次のようなWindows互換のフィルターを使用します。
adb shell dumpsys account
次に、出力結果を調べて残りのアカウントを確認します。
Chastifyをデバイスオーナーとして設定する
走る:
adb shell dpm set-device-owner net.chastify.app/.AdminReceiver
macOS でデフォルトの Android SDK パスを使用している場合:
~/Library/Android/sdk/platform-tools/adb shell dpm set-device-owner net.chastify.app/.AdminReceiver
ADBコマンドリファレンス
Chastifyをデバイス所有者として設定します。
adb shell dpm set-device-owner net.chastify.app/.AdminReceiver
デバイス所有者とプロファイル所有者の状態を一覧表示します。
adb shell dpm list-owners
デバッグ/テストビルドで、Chastifyをアクティブなデバイス管理者から削除します。
adb shell dpm remove-active-admin net.chastify.app/.AdminReceiver
一部の Android バージョンでは、ユーザーを含める必要があります。
adb shell dpm remove-active-admin --user 0 net.chastify.app/.AdminReceiver
remove-active-admin は、アプリが testOnly とマークされているエミュレーター/デバッグビルドで主に役立ちます。製品版の Android ビルドでは、特に Chastify がデバイス所有者である場合、このコマンドが拒否される可能性があります。製品版では、まず Chastify の デバイス所有者のクリア リカバリーフローを使用してください。
デバイス所有者を確認する
使用:
adb shell dpm list-owners
お使いのAndroidビルドがそのコマンドをサポートしていない場合は、デバイスポリシーの状態を確認してください。
adb shell dumpsys device_policy
デバイス所有者としてnet.chastify.app/.AdminReceiverを探してください。有効なデバイス管理者の下にのみ表示される場合は、Chastifyはデバイス管理者ですが、デバイス所有者ではありません。
Chastifyで制限を設定する
デバイス所有者が設定された後:
- Chastifyを開きます。
- 「デバイスコントロール」に移動してください。
- デバイス所有者設定を開きます。
- 実際に必要な制限のみを有効にしてください。
Chastifyは現在、これらを個別のオプションとして公開しています。
- セーフモードをブロックする
- ADB/デバッグをブロックする
- 設定から工場出荷時設定へのリセットをブロックする
- Chastifyのアンインストールをブロックします
- Androidのバックアップを有効にする
テスト中はADB/デバッグのブロックをオフにしてください。これを有効にした後でデバイスのデバッグが必要になった場合は、Chastify内部の制限を解除する必要があるかもしれません。制限を解除した後でも、AndroidではADBが動作する前に、開発者向けオプションでUSBデバッグを手動で再度オンにする必要がある場合があります。
クリアリングデバイスの所有者
デバイス制御セッションがアクティブでない場合、Chastifyはデバイス所有者設定ページからデバイス所有者をクリアできます。
クリーンアップシーケンスは、以下のことを試みます。
- デバッグ制限を解除する
- セキュア設定が許可されている場合は、ADBを復元します。
- セーフモードの制限を解除する
- 工場出荷時設定へのリセット制限を解除する
- アンインストールブロックを削除する
- デバイス所有者としてChastifyをクリアする
キーホルダーによるデバイス制御セッションまたは自己制御セッションがアクティブな間は、ページはロックされます。
Xiaomi、Redmi、MIUIに関するメモ
一部のMIUIデバイスでは、ADB管理コマンドを動作させる前に、追加の開発者向けオプションを有効にする必要があります。以下のオプションを有効にする必要がある場合があります。
- USBデバッグ
- USBデバッグ(セキュリティ設定)
- USB経由でインストール
MIUIのバージョンによっては、これらの設定を有効にする前にMiアカウントへのサインインが必要になる場合があります。デバイス所有者の設定が失敗した場合は、再度アカウントを削除してから再試行してください。
セットアップが失敗した場合
よくある理由:
- 既存のアカウントはデバイス上に残っています
- アプリは既に別の署名キーでインストールされていました
- 管理コンポーネントは既にアクティブですが、デバイスオーナーではありません
- デバイスには複数のユーザー/プロファイルが存在します
- ADBが間違ったエミュレータまたはデバイスを対象としています
- OEMセキュリティ設定によりADBポリシーコマンドがブロックされます
使用:
adb devices -l
adb shell dpm list-owners
adb shell dumpsys device_policy
Androidがそれでもセットアップを拒否する場合は、アカウントを追加する前に工場出荷時設定へのリセットとセットアップが必要になる場合があります。