Skip to content
プロジェクト

HmnDev-Tech/shevery has 1,620 GitHub stars and 55 forks. GitHot measured +10 stars in 24 hours. Last checked 2026-11-07 04:53 UTC. Last push 2026-11-02.

この数値の測り方

Shevery - Modernized Android manager with Jetpack Compose, Material 3, and compatibility enhancements.

計測したスター増加

24時間
+10
7日間
更新が遅れています
15日間
更新が遅れています
1か月
更新が遅れています

期間ごとの純増数です。期間は重複しており、日別の値ではありません。未計測の値は空欄です。スター数は注目度の指標であり、品質の保証ではありません。

README.ja.md

オリジナル

Shevery

English | Русский | Қазақша | Qazaqşa (Latın) | Português | Español | العربية | 简体中文 | 日本語

フォークの状況

[!IMPORTANT] 移行作業が必要です: アプリ識別子が moe.shizuku.privileged.api から com.hamondev.shevery に変更されたため、Shevery をインストールする前に、端末にある旧バージョンの公式 Shizuku Manager アプリを必ずアンインストールしてください。アンインストールしない場合、両者が競合します。 上流プロジェクト:https://github.com/RikkaApps/Shizuku

フォークで追加された機能

  • Material 3 Expressive のコンポーネント、モーション、スイッチ、角を丸めたアイコンデザインを採用した Jetpack Compose 製マネージャー UI。
  • Dhizuku の実験的サポート:ラボ機能内で利用できる、デバイスオーナー専用のブリッジシステム。
  • Gemini による説明、マクロ、Commandium AI によるコマンド作成に対応した、shell/adb ベースの “Comput” 機能の改善。
  • このフォークでは、現行の SDK とビルドツールを用いて Android 16/17 対応を進めています。
  • ZIP モジュールをインストール・管理するための ADB Modules 画面。
  • モジュール機能:module.prop、バナー、有効化/無効化スイッチ、action.sh、ポリシーで制御される service.sh、ローカル WebUI、削除、パス検査、サイズ制限、出力制限、直近の実行ログ。
  • モジュールのポリシー設定:セーフモード、フルアクセス、バックグラウンド操作の制御。
  • 直接インストールに対応したモジュールカタログ。

ドキュメント

背景

root 権限を必要とするアプリを開発する場合、最も一般的な方法は su shell でコマンドを実行することです。たとえば、pm enable/disable コマンドを使ってコンポーネントを有効化または無効化するアプリがあります。

この方法には非常に大きな欠点があります。

  1. 極めて遅い(複数のプロセスを作成するため)
  2. テキストを処理する必要がある(非常に信頼性が低い)
  3. 利用可能なコマンドによって機能が制限される
  4. ADB に十分な権限があっても、アプリの実行には root 権限が必要になる

Shizuku はまったく異なる方法を採用しています。詳しくは以下の説明を参照してください。

ユーザーガイドとダウンロード

https://shizuku.rikka.app/

スクリーンショット

📸 クリックしてスクリーンショットギャラリーを開く

メイン画面

Comput コンソール

ADB Modules

設定

Shevery の仕組み

まず、アプリがシステム API をどのように利用するかを説明します。たとえば、アプリがインストール済みのアプリを取得したい場合、PackageManager#getInstalledPackages() を使用すべきことはよく知られています。これは実際には、アプリプロセスとシステムサーバープロセス間のプロセス間通信(IPC)であり、Android フレームワークが内部処理を代行しています。

Android はこの種の IPC に binder を使用します。Binder により、サーバー側はクライアント側の uid と pid を把握できるため、システムサーバーはそのアプリに操作を実行する権限があるか確認できます。

通常、アプリが使用する「マネージャー」(例:PackageManager)がある場合、システムサーバープロセスには対応する「サービス」(例:PackageManagerService)が存在します。アプリがその「サービス」の binder を保持していれば、「サービス」と通信できると簡単に考えることができます。アプリプロセスは起動時にシステムサービスの binder を受け取ります。

Shizuku は、ユーザーに root または ADB を使って Shizuku サーバーというプロセスを最初に実行するよう案内します。アプリの起動時には、Shizuku サーバーへの binder もアプリに送信されます。

Shevery が提供する最も重要な機能は、仲介役のように動作することです。アプリからリクエストを受け取り、それをシステムサーバーに送り、結果を返します。詳しくは、rikka.shizuku.server.ShizukuService クラスの transactRemote メソッドと、moe.shizuku.api.ShizukuBinderWrapper クラスを参照してください。

これにより、より高い権限でシステム API を使用するという目的を達成できます。アプリから見れば、システム API を直接使用する場合とほぼ同じです。

開発者ガイド

API とサンプル

https://github.com/RikkaApps/Shizuku-API

v11 より前のバージョンからの移行

もちろん、既存のアプリケーションは引き続き動作します。

https://github.com/RikkaApps/Shizuku-API#migration-guide-for-existing-applications-use-shizuku-pre-v11

注意事項

  1. ADB の権限には制限がある

    ADB の権限には制限があり、システムのバージョンによって異なります。ADB に付与される権限はこちらで確認できます。

    API を呼び出す前に、ShizukuService#getUid を使って Shizuku が ADB ユーザーとして動作しているか確認したり、ShizukuService#checkPermission を使ってサーバーに十分な権限があるか確認したりできます。

  2. Android 9 以降の隠し API 制限

    Android 9 以降、通常のアプリによる隠し API の使用は制限されています。別の方法(https://github.com/LSPosed/AndroidHiddenApiBypass など)を使用してください。

  3. Android 8.0 と ADB

    現在、Shizuku サービスは IActivityManager#registerProcessObserver と IActivityManager#registerUidObserver(26 以降)を組み合わせてアプリプロセスを取得し、アプリの起動時にプロセスが確実に送信されるようにしています。ただし API 26 では、ADB に registerUidObserver を使用する権限がありません。そのため、Activity から起動されない可能性のあるプロセスで Shizuku を使用する場合は、透明な Activity を起動して binder の送信を発生させることを推奨します。

  4. transactRemote を直接使用する場合の注意

    • API は Android のバージョンによって異なる可能性があるため、必ず注意深く確認してください。また、android.app.IActivityManager は API 26 以降では aidl 形式であり、android.app.IActivityManager$Stub は API 26 にのみ存在します。

    • SystemServiceHelper.getTransactionCode では正しいトランザクションコードを取得できない場合があります。たとえば、API 25 には android.content.pm.IPackageManager$Stub.TRANSACTION_getInstalledPackages が存在せず、代わりに android.content.pm.IPackageManager$Stub.TRANSACTION_getInstalledPackages_47 が存在します(この状況には対処済みですが、ほかの状況が存在する可能性は否定できません)。ShizukuBinderWrapper を使用する方法では、この問題は発生しません。

Shizuku 自体の開発

ビルド

  • git clone --recurse-submodules でクローンする
  • Gradle タスク :manager:assembleDebug または :manager:assembleRelease を実行する

:manager:assembleDebug タスクはデバッグ可能なサーバーを生成します。shizuku_server にデバッガーを接続して、サーバーをデバッグできます。Android Studio では「Run/Debug configurations」-「Always install with package manager」にチェックを入れ、サーバーが最新のコードを使用するようにしてください。

ライセンス

このプロジェクトのすべてのコードファイルは Apache 2.0 の下でライセンスされています。

Apache 2.0 の第 6 条に基づく具体的な制限:

  • Shizuku 自体を表示する場合を除き、manager/src/main/res/mipmap*/ic_launcher*.png 画像ファイルの使用は禁止されています。

  • アプリ名に Shevery を使用すること、アプリケーション ID に moe.shizuku.privileged.api または com.hamondev.shevery を使用すること、および moe.shizuku.manager.permission.* 権限を宣言することは禁止されています。

クレジット

  • Nightzuku - アプリ UI、モジュールカタログシステム、Android 17 対応の一部を提供しています。
  • Shizuku - Shizuku API と主要なソースコードを提供しています。

関連プロジェクトを探す