Android 一括初期化ツール試作版 v0.9
ご依頼内容をもとに作った、実際に動く Windows ツールです

USBでつないだAndroid端末を、
まとめて認識・まとめて初期化。

ADB で接続端末を自動検出し、メーカー・機種を判別して初期化方式を自動で切り替えます。並列処理中に1台が失敗しても、他の端末は止まりません。

USB接続→ADBで自動認識→一覧表示→対象を選択→診断/初期化→並列処理→完了・エラー一覧
処理完了後の画面:10台中 完了6台・要確認1台・エラー3台
Screens

実際の画面

下の画像はツールの「シミュレーションモード」(仮想端末10台)で実際に動かして撮影したものです。エラーになる端末もわざと混ぜて、1台の失敗が他に影響しないことを確認しています。

処理中診断OK完了要確認(FRP等)エラー待機
Features

ご希望の機能との対応

募集文の「希望する機能」を1つずつ試作版に落とし込んでいます。

ご希望の機能試作版実装内容
ADB接続端末の自動検出実装済2秒ごとに adb devices -l を確認。抜き差し・「USBデバッグ未許可」状態も一覧に反映
複数端末の同時管理実装済接続台数・選択台数・処理中・完了・要確認・エラーを上部タイルで常時表示(「接続中:10台」など)
メーカー/機種名/シリアル等の取得実装済getprop からメーカー・型番・Androidバージョン、dumpsys battery から電池残量。販売名はメーカーごとに格納場所が違うため複数プロパティを順に参照(例:OPPOは ro.vendor.oplus.market.name)
対象端末を選択して初期化/一括実行実装済チェックボックスで選択 → 「初期化」と入力して実行(誤操作防止)。同時実行数は1〜32台で指定
実行状況・成功・失敗の表示実装済端末ごとに 待機→処理中(どの手順か)→ 完了/要確認/エラー を色分け。エラーは現場で直せる日本語メッセージに変換
ログ保存実装済logs\日時\ に端末別ログ(送ったコマンドと応答をすべて記録)+ Excelで開ける summary.csv
失敗時に他端末を止めない実装済端末ごとに独立したタスクで処理し、例外もその端末内で処理。画面のとおり3台エラーでも残りは完了
対応機種を追加しやすい構成実装済機種判定と初期化方式を profiles.json に外出し。新機種はJSONに1ブロック追加するだけ(再コンパイル不要)
機種を自動判別して処理を分ける実装済メーカー・ブランド・型番(正規表現)とAndroidバージョンでプロファイルを自動選択
実機での機種別調整正式版でヘルパーアプリ(ソース同梱)のAPK化と、御社端末での動作確認・文言調整は正式ご依頼後に行います
How it works

初期化の仕組み(3つの方式を機種ごとに使い分け)

ポイント:Android は root化なしの adb から「初期化」を直接呼べない仕様です(am broadcast で初期化を送っても、権限不足で無視されます)。そのため本ツールでは、下の3方式をプロファイルで機種ごとに選べるようにしています。
方式A・メイン

ヘルパーアプリ経由

画面のない小さなアプリをadbで入れ、Android標準の端末管理APIで初期化します。全自動・メーカー差が少ない方式です。

  • Android 14以降は API の仕様変更に合わせて wipeDevice、それ以前は wipeData
  • PCのadb以外からは起動できないよう権限で制限
  • 端末固有IDの照合で誤爆防止
adb install -r helper.apk adb shell dpm set-active-admin \ jp.lyc.fleetreset.helper/.AdminReceiver adb shell am broadcast -a jp.lyc.fleetreset.WIPE ...
方式B

設定画面の自動操作

アプリを入れたくない機種向け。画面の文言を読み取り、設定 →「リセット」→「すべてのデータを消去」を自動でタップします。

  • 文言は日本語・英語どちらにもマッチ
  • 手順はJSONで機種ごとに定義
  • 診断モードでは最後のボタンの手前で止まる
adb shell uiautomator dump → 文言から座標を算出 adb shell input tap 540 1475
方式C・予備

リカバリー起動

古い機種などA・Bが使えない場合の予備。リカバリーモードで再起動し、最後の「Wipe data」だけ端末ボタンで操作します。

  • 一覧には「手動操作」と表示
  • Android 6.0以前を自動でこの方式に
adb reboot recovery
Makers

メーカー別の設定(プロファイル)

想定端末ごとにプロファイルを用意しています。どれにも当てはまらない端末は「汎用」プロファイルで処理します。

Xiaomi / Redmi / POCO

manufacturer: Xiaomi

開発者オプションの「USB経由でインストール」「USBデバッグ(セキュリティ設定)」がOFFだとアプリ導入や画面操作が拒否されます。ツール側でこのエラーを検知し、対処方法を表示します(画面のNo.2)。

OPPO / realme / OnePlus

manufacturer: OPPO|realme|OnePlus

販売名(例:Reno11 A)は専用プロパティから取得。開発者オプション「権限の監視を無効化」をONにしておくと、インストール時の確認で止まりません。

Motorola

manufacturer: motorola

標準Androidに近い構成のため方式Aで処理。型番がそのまま機種名(moto g64 5G など)として表示されます。

arrows(FCNT)

manufacturer: FCNT|FUJITSU

メーカー名の表記揺れ(FCNT/FUJITSU)を両方マッチ。方式Aで処理。

AQUOS(SHARP)

manufacturer: SHARP

方式Aで処理。電池残量が設定値(初期値20%)未満の端末は初期化せずエラー表示(画面のNo.8)。

その他 Android

manufacturer: .*(汎用)

Android 7.0以降は方式A、6.0以前は方式Cへ自動で振り分け。Pixelは方式Bの設定例として用意。

Architecture

構成と使用技術

Windows標準の .NET Framework 4.8 で動くため、ランタイムの追加インストールは不要です。exeとadbを同じフォルダに置けば使えます。

Windows ツール(C# / WinForms)

  • 端末一覧・集計・ログ表示のGUI
  • 自動検出(DeviceScanner)
  • 並列実行エンジン(ResetEngine)
  • profiles.json で機種判定
→

adb(Platform-Tools 公式)

  • devices -l / getprop / dumpsys
  • install / dpm / am broadcast
  • uiautomator / input / reboot
→

Android 端末(USB)

  • root化・改造なし
  • USBデバッグONのみ
  • 方式A:ヘルパーアプリ(Java)
// profiles.json(抜粋)— 新しい機種はここに1ブロック追加するだけ
{
  "id": "xiaomi",
  "name": "Xiaomi / Redmi / POCO",
  "manufacturer": "^Xiaomi$",       // 正規表現でマッチ
  "minSdk": 24,                     // Android 7.0 以降
  "method": "device-admin",         // 方式A / ui-automation / recovery
  "notes": [ "開発者オプション「USB経由でインストール」をON" ]
}
Safety

誤操作・トラブルへの備え

データを消すツールなので、「間違って消さない」「失敗しても原因がわかる」ことを優先しています。

診断モード(初期化しない)接続・電池・アカウント・アプリ導入まで確認し、初期化の直前で止めます。新機種はまずこちらで確認できます。
実行前の入力確認「初期化」と入力しないと実行ボタンが押せません。
Googleアカウント残存チェック残っていると初期化後に再ログインを求められる(FRP)ため、警告 or 中止を設定で選べます。
電池残量チェック初期化中の電池切れを防ぐため、設定値未満の端末はスキップ。
完了の確認初期化コマンドを受け付けた後、端末が実際に再起動したことまで確認して「完了」にします。
全コマンドをログに記録送ったadbコマンドと端末の応答を端末別に保存。不具合時はログを送っていただければ原因を特定できます。
Next steps

試してみる/正式版までの進め方

  1. 試作版をダウンロードzipを展開し「シミュレーションで起動.bat」をダブルクリック。実機に一切コマンドを送らずに、画面と動きを確認できます(Windowsの警告が出た場合は「詳細情報 → 実行」)。
  2. お手元の端末で診断モードplatform-tools を同じフォルダに置いて exe を起動。「診断」は初期化しないので、まず接続・機種判定がどう表示されるかを確認できます。
  3. ヘルパーアプリのAPK化・実機調整正式ご依頼後、対象機種(Redmi / OPPO / Motorola / arrows / AQUOS)で初期化まで通し、プロファイルを調整します。
  4. 納品exe一式・ソースコード・機種追加手順書をお渡しします。