Universal Installer:分割APK、OBBファイル、サイレントインストールを扱うオープンソースのAndroidパッケージマネージャー
このプロジェクトは「A modern Android app for installing and managing APK packages with split APK support, silent install via Shizuku, and VirusTotal malware scanning.」を基盤として、実践的に使えるオープンソース実装を提供し、再利用可能なツールチェーンと統合手段を備えています。
ひと目でわかる
- これは何?
- リポジトリのREADMEに基づき、対応フォーマット、Shizukuとrootの機能、VirusTotal連携、GPL-3.0-onlyライセンスを解説します。
- 誰に向いている?
- 分割APKやOBBを扱うAndroid利用者には、標準インストーラの不足を具体的に補える候補です。rootやShizukuを使わない利用者には特権機能を前提にせず、VirusTotalの判定と署名を別々に確認してください。
- 商用利用できる?
- 条件付きでできます。GPL-3.0 はコピーレフトのライセンスで、これを含むソフトウェアを配布する場合、そのソフトウェアのソースコードを同じライセンスで公開する必要があります。配布せず社内で使うだけなら、この義務は生じません。
- 今もメンテナンスされている?
- されています。最後のコミットは 5 日前です。
- 何の言語で書かれている?
- 主に Kotlin です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
デフォルトのインストーラが扱わないフォーマット
Universal InstallerはKotlinで書かれたAndroidパッケージマネージャーです。READMEでは、デフォルトのインストーラでは扱えないAPK、APK+、APKS、XAPK、APKMファイル(分割APKとOBBファイルを含む)を処理するものと位置づけられています。アプリはURLからのパッケージダウンロード、インストール済みアプリの管理、Shizukuまたはrootを介したサイレントインストールにも対応します。UIはJetpack Composeで構築され、Material 3を採用し、デフォルトはオレンジのテーマで、ダイナミックカラーも選択可能です。リポジトリのメタデータでは、プロジェクト言語はKotlin、ライセンスはGPL-3.0とされています。
分割APKのインストールとパッケージプレビュー
READMEによると、分割APKのインストールはAckpineライブラリを通じて行われます。複数の個別APKファイルを1つのインストールセッションに統合でき、アプリが別々の分割として配布される場合に役立ちます。インストール前に、ボトムシートにアプリ名、アイコン、バージョン、パッケージ名、サイズ、最小およびターゲットSDK、対応ABI、言語、権限、OBB数、分割数が表示されます。ローカル選択モードは3つあります:自動デバイススキャン、対応アーカイブタイプを絞り込むブラウズ、汎用ファイルブラウザです。また、Chromeのダウンロード、Gmail、Telegram、ファイルマネージャーからのインテントを受け付け、URLに拡張子がない場合でも処理します。
OBBファイルとコピー経路
OBBファイルを含むXAPK、APKM、APKSアーカイブの場合、Universal Installerは自動検出し、APKインストール後にAndroid/obb/<package>/へコピーします。ベースAPKに1つ以上のOBBファイルを手動で添付することもできます。コピーはフォアグラウンドワーカーで実行されるため、アプリが閉じられても継続し、通知シェードに進捗が表示されます。READMEは、使用順に3つの書き込み戦略を挙げています:Android 11より前のデバイスでは直接I/O、現代のAndroidではShizukuのshell UID、そしてパッケージごとにユーザーが一度承認するSAFツリー許可です。
VirusTotalチェックはオプションでキーが必要
ユーザーがAPIキーを設定している場合、選択された各ファイルはSHA-256でハッシュされ、VirusTotalで照会されます。VirusTotalに記録がない場合、プレビューシートからアップロードしてマルチエンジンスキャンを実行でき、大容量ファイルエンドポイントにより最大650MBのファイルに対応します。アプリは、悪意、疑わしい、無害、未検出の4カテゴリのエンジン数を表示します。READMEはこれらのチェック以外のセキュリティ保証を主張しておらず、この機能はサードパーティのサービスとユーザー提供のキーに依存します。
Shizukuまたはrootによる特権操作
デバイスがrootアクセスまたはShizuku実行中の場合、アプリはインストーラープロファイルとサイレントインストール/アンインストールを有効にします。サイレントパスはシステム確認プロンプトをスキップします。READMEには追加オプションがリストされています:既存アプリの置き換え、ダウングレードの許可、要求されたすべての権限の付与、テストパッケージの許可、低ターゲットSDKブロックの回避、全ユーザーへのインストールです。インストール元の設定では、Google Play、Aurora、F-Droid、Amazon、Samsung、Huawei、Xiaomiのプリセットまたはカスタム値でインストーラパッケージ名を偽装でき、インストール元をチェックするアプリがサイドロードを受け入れるようになります。設定セクションでは、Shizukuの起動とアプリ設定での権限付与について説明しています。
LAN共有、TV、アプリ管理
アプリには、ローカルWi-Fi経由でパッケージを共有するためのHTTPサーバーが組み込まれており、PCへのファイルダウンロードやスマートフォンへの新規パッケージアップロードができるウェブダッシュボードも備えています。アプリ内でライブ進捗が表示され、オプションの4〜8桁のPINで共有フォルダへのローカルアクセスを制限できます。Send to TV機能は、QRコードをスキャンしてAndroid TVにパッケージを転送およびインストールします。アンインストールマネージャーは、ユーザーアプリ(システムアプリは任意)を一覧表示し、初回インストール日や最終使用時刻などのメタデータを表示し、並べ替えとバッチ選択をサポートし、すべてのアンインストール試行を記録します。デバイスユーティリティセクションでは、ストレージ使用量カードと、成功または失敗の理由を示すインストール履歴画面が言及されています。
ビルド、設定、ライセンス条件
ビルドにはAndroid Studio、JDK 17以降、Android SDK 36が必要です。プロジェクトはマルチモジュールのGradleビルドで、スマートフォンとタブレット用のアプリモジュール、TVモジュール、両方が共有するコアライブラリで構成されています。READMEは、旧storeおよびfullプロダクトフレーバーが削除されたと述べており、単一の配布物にはShizuku、root、デフォルトのシステムインストーラが含まれます。デバッグおよびリリースバリアントとリリースアプリバンドルの組み立て用のGradleコマンドが提供されています。Fastlaneは、FirebaseとPlay Store内部トラックへのビルドとデプロイをサポートします。設定ではShizukuとVirusTotal APIキーを扱います。プロジェクトはGPL-3.0-onlyでライセンスされており、ライセンスの抜粋は、ソフトウェアの使用、変更、配布の自由を認め、同じ自由とソースコードへのアクセスを伝達することを要求し、保証がないことを述べています。READMEはサポートの約束やセキュリティの脆弱性については触れていません。
導入前に確認したい境界は、権限経路とファイルの出所です。通常のシステムインストーラで足りる端末なら、Shizukuやrootを有効にする理由はありません。逆に、分割APKを手動で扱う端末では、プレビューに表示されるpackage、ABI、権限、split数を元ファイルの配布情報と照合できます。VirusTotalの判定はファイルそのものの検査結果であり、署名の正当性や配布元の信頼性を代替するものではありません。
ビルドを再現する場合はJDK 17以上とAndroid SDK 36を用意し、スマートフォン用、TV用、共有coreのGradle構成を先に確認します。OBBを使うテストではAndroid/obb/<package>/の書き込み経路と通知上の進捗を記録し、LAN共有では4〜8桁PINを設定した状態で同一Wi-Fi上の公開範囲を確認します。GPL-3.0-onlyのため、配布形態に応じたライセンス表示とソース提供条件の確認も必要です。
編集部の結論
分割APKやOBBを扱うAndroid利用者には、標準インストーラの不足を具体的に補える候補です。rootやShizukuを使わない利用者には特権機能を前提にせず、VirusTotalの判定と署名を別々に確認してください。最初はAndroid 14以降の端末でAPK、OBB、LAN転送を分けて確認するのが適切です。
コミュニティノート