アンドロイド自動操作ツール

アンドロイド自動操作ツールの画面

アンドロイド自動操作ツール を作りました。

Blockly(ブロックベースのビジュアルプログラミング)を使って、アンドロイドを自動操作出来るようにしました。

シンプルに仕上げたので使って下さい。ちなみに、何があっても自己責任でお願い致します。

特徴

このツールの特徴は、ブロックを組むだけで簡単にアンドロイドを自動化する事が出来ます。

プログラムを組む事が出来なくても、ブロックを組み合わせて楽しみながらアンドロイドの自動化が出来ます。

事前にタップしたい箇所を登録しておけば、画面内を自動でタップさせる事が出来ます。

パソコンとアンドロイドを USBケーブルで繋げれば 実機を自動操作する事が出来ます。

Nox(Androidエミュレーター)を自動化する事も出来ます。

マウスカーソルやフォーカスは奪われないので、裏作業をさせておくことも出来ます。

準備

アンドロイド自動操作ツール をダウンロードする

まずは こちら からツールをダウンロードします。

アンドロイド自動操作ツール をダウンロード

ファイルサイズが大きいのはごめんなさい。必要なライブラリをぎゅうぎゅうに詰め込んだらこんなサイズになっちゃいました。

ダウンロードが出来たら展開しておきます。

全て展開

adb.exe をパソコンに入れる

このツールを使うには adb.exe が必須です。

adb.exe を使って アンドロイドからスクリーンショットを取得したり、画面をタップしたりするので必須となっています。

adb.exe は Android SDK Platform-Tools に含まれています。

なので SDK Platform-Tools をダウンロードしましょう。

SDK Platform-Tools をダウンロード

チェックを入れて、ダウンロードボタンを押すと platform-tools_r30.0.4-windows.zip がダウンロード出来ます。

platform-tools_r30.0.4-windows.zip がダウンロード

今の時期だと バージョンr30.0.4 がダウンロード出来ますが、この先バージョンが上がってもダウンロード手順は同じです。

ダウンロードしたファイルを右クリックして、展開します。

展開

展開先は分かりやすく Cドライブの直下にしました。お好みで変えて下さい。

展開先はCドライブの直下

パソコン側の設定は以上です。

アンドロイドの USBデバッグ を有効にする

次に、アンドロイドの USBデバッグ を有効にします。

アンドロイドの設定の中にある「ビルド番号」を7回タップして「開発者向けオプション」を表示させます。

ビルド番号を7回タップ

設定項目に「開発者向けオプション」が増えているので開きます。

開発者向けオプション

「開発者向けオプション」を 有効 にします。

開発者向けオプションを 有効

そのままスクロールして USBデバッグ を 有効 にします。

USBデバッグ を 有効

以上でアンドロイド側の設定は完了です。

使い方

いきなり超大作を作るのは大変なので、簡単なダンジョンの周回などを自動で出来るようにします。

ひとまず、ツールを起動させます。パイナップルのアイコンが目印です。

android-automation-tool

起動時に PC保護 が出る場合は、詳細情報 を押して

Windows によって PC が保護されました

実行で起動します。

PC保護実行

初期設定

起動が出来たら初期設定をします。

右上の「自動操作設定」ボタンを押します。

自動操作設定

まず始めに「adb.exe の場所を選択」ボタンを押して adb.exe の場所を設定します。

adb.exe の場所を選択

今回は Cドライブの直下に置いてあるので、この様に設定しました。

「C:\platform-tools_r30.0.4-windows\platform-tools\」

C:\platform-tools_r30.0.4-windows\platform-tools\

こんな感じになれば adb.exe の設定はOKです。

C:\platform-tools_r30.0.4-windows\platform-tools\adb.exe

クリック対象の画像作成

次に クリック対象を探す時に使う画像を作っていきます。

作ると言ってもスクショを撮って、トリミングして保存するだけなので簡単に作れます。

スクリーンショット

パソコンと アンドロイドを USBケーブルで接続してから「アンドロイドのスクリーンショットを撮影」ボタンを押します。

アンドロイドのスクリーンショットを撮影

そうすると、アンドロイドのスクショ画面が表示されます。

アンドロイドのスクショ画面が表示される
出来ない場合は?

出来ない場合は、アンドロイドの USBデバッグ を見直してみて下さい。

USBモードは メディアデバイス になっているか?

USBモードは メディアデバイス

その後に USBデバッグが有効になっているか?

USBデバッグが有効になっているか?

トリミング

撮ったスクリーンショットをトリミングして、クリック対象に指定します。

まず、トリミングボタンを押し、

トリミングボタン

クリック対象にしたい範囲をトリミングで指定して、確定ボタンを押します。

確定ボタン

そうするとスクリーンショットがトリミングされるので、リストに追加ボタンを押します。

リストに追加

こんな感じになればOKです。

リストに追加

同じ要領でアンドロイドを操作しながら、クリック対象をガシガシと追加して行きましょう。

ガシガシと追加
間違って追加しちゃった場合は?

間違って追加しちゃった場合は、設定の「リストから削除」ボタンで消すことが出来ます。

リストから削除

アンドロイドを自動操作させる

ある程度、クリック対象画像がそろったら実際にアンドロイドを自動操作させてみましょう。

今作った画像が画像ブロックに入っているので、使いたい画像をドラッグで取り出します。

画像ブロック

ワークスペースにブロックが出てきたらOKです。

ワークスペースにブロックが出てきたらOK

まだこのままだと動かないので「この画像をどうしたいのか?」処理を作っていきます。

自動操作の中にあるブロックをこの様に配置して下さい。

ブロックをこの様に配置

実行

出来たら右上の「実行」ボタンを押します。そうすると組んだブロックの処理の通りに動くはずです。

アンドロイド自動操作ツールの画面
繰り返し処理をしたい場合は?

繰り返し処理をしたい場合は、繰り返しブロックを使います。

このように繰り返しブロックで括ると、その条件の時だけ処理をしてくれます。

繰り返し処理

無限ループはこんな感じで作れます。

無限ループ

おわりに

どうでしょうか?

出来るだけ使いやすくシンプルに作ってみました。

まだスクリーンショット内をタップすることしか出来ませんが、もっと機能を追加して行けたらと思っています。

要望等ありましたら、気軽に言って下さい。

noitaro/android-automation-tool
Contribute to noitaro/android-automation-tool development by creating an account on GitHub.

使った技術

ここからは技術的な話になります。

ライブラリ


Node.js

JavaScript をウェブブラウザ以外で実行するために使いました。


Electron

JavaScript で デスクトップアプリケーションを作るために使いました。


Blockly

ブロックベースのビジュアルプログラミングとエディターのライブラリです。


jQuery

Bootstrap を使うために導入、JavaScript ライブラリです。


Bootstrap

Webアプリケーションフレームワーク。オシャレなデザインを簡単に作ることが出来ます。


highlight.js

プログラミングコード に色を付ける(ハイライト)ための JavaScript ライブラリです。


Knockout.js

MVVM(Model-View-ViewModel)パターン をサポートするための JavaScript フレームワークです。


JS-Interpreter

サンドボックス化された JavaScript インタープリターです。任意の JavaScriptコード を1行ずつ分離して安全に実行します。


OpenCV.js

画像処理ライブラリである OpenCV の JavaScript版です。類似画像検索時に使用しました。


Jimp

JavaScript 画像処理ライブラリです。Base64 の画像データを OpenCV に変換する時に使用しました。


タイトルとURLをコピーしました