LoginSignup
5
0

More than 1 year has passed since last update.

androidにTermux+adb+sshで画像処理自動化をスタンドアローンで動かせる説が浮上!!

Last updated at Posted at 2021-06-06

0. 企画の概要

現在,下記の画像のようにゲームの自動化を行っています.まず,最初に,スマホ画面をスクリーンショットしてからPCに送信します.次に,画像解析を行ったのちにクリックコマンドをスマホに送信します.最後にスマホ上でクリックされてゲームが進んでいく感じです.
adb_ssh1.png

下記の動画はこの構成でスマホゲームの自動化を行っています.

しかし,これだと自動化するためにPCが必要であったり,ケーブルが必要であったりと結構手間です.そこで,今回は下記の図のようにTermux内にubuntuの環境を構築し,そこで画像処理を行えるようにすることでandroid単体で画像処理自動化プログラムを回していこうとする企画です.

adb_ssh2.png

1. Termuxのもろもろの設定

1.1 Termuxの基本設定

アプリストアからインストール. そしたら, パッケージのアップグレード.

pkg upgrade

完了したらSDカードの機能をONにする.

termux-setup-storage

これでTermuxの基本設定は完了.

<< 参考サイト >>

【随時更新】個人的 Termuxセットアップメモ
https://zenn.dev/ryuu/scraps/6b2584294674b7

1.2 SSHの基本設定

android上でコマンドを打つのはとても面倒なので, SSH経由でandroidに接続し, PC上をコマンドを叩くようにする.

*参考サイトの通りに行えば特に問題なく動作したので割愛させていただきます. *

<< 参考サイト >>

Termux on AndroidのSSHサーバに接続する方法
https://linuxfan.info/termux-sshd

1.3 ubuntuのインストール

temux上でadbコマンドを叩くようにするには結構面倒くさそうです. そこで, Ubuntuを導入して, そのUbuntu上でadbコマンドを叩くような流れでやっていきます.

*参考サイトの通りに行えば特に問題なく動作したので割愛させていただきます. *

<< 参考サイト >>

【随時更新】個人的 Termuxセットアップメモ
https://zenn.dev/ryuu/scraps/6b2584294674b7

2. adbコマンドの導入と設定

2.1 temuxのUbuntuにadbコマンドを導入

adbコマンドのインストール

>sudo apt-get install android-tools-adb

adbがインストールされたか確認

>adb version

adbコマンドでandroid端末が認識されているか確認. ポップアップが出るので許可してください.

>adb devices
List of devices attached
emulator-5554   device

<< 参考サイト >>

UbuntuでAndroid Debug Bridgeを使ってみる
https://saitodev.co/article/Ubuntu%E3%81%A7Android_Debug_Bridge%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B/

2.2 sshクライアント側のPCにadbコマンドを導入

ssh接続するPC側にもadbコマンドの導入をお願い致します.

ubuntuなら上記のコマンドで同様にインストールが可能です.
winodwsとかだとandroid studioとかに入っているのでそれを使ってください.

2.3 PCからandroidにadb接続

接続します.

$ adb devices

端末にADB接続していいかアラートが表示されるのでOKします.
これでWi-Fi接続の許可をします.

$ adb tcpip 5555

IPの確認を下記コマンドで行います.

$ adb shell ip route

ここで表示されたIPをメモしておきます.

2.4 termuxからandroidにadb接続

下記のコマンドでtermuxから自身のandroidにadb接続ができます.

>adb connect <ip:port>

この状況になれば, 今まで自動化で使用していたadbコマンド達を使用できそうです.

<< 参考サイト >>
Android端末内のTermuxからその端末にADB接続する
https://tanokatu.com/2019/05/20/01/

3. 自動化関連のadbコマンド使ってみる

自動化関連で使用していたのはスクリーンショットコマンドと画面タッチコマンドの2つです.
なので,この2つのコマンドがtermux上で使い物になるかを検証していきたいと思います.

3.1 スクリーンショットコマンド

実際に下記のスクリーンショットコマンドを叩いてみました.

adb shell screencap -p /sdcard/screen.png

その結果,ちゃんとスクリーンショットが撮影されていました.

mojikyo45_640-2.gif

3.2 Termuxのバックグラウンド起動

このままでは,ゲーム画面に遷移するとTermuxが落ちてしまいます.そこで,Termuxをバックグラウンド起動に設定します.
僕のスマホでは
設定>バッテリー>アプリ>Termux>バックグラウンド起動のON
でいけました.

mojikyo45_640-2.gif

3.3 タッチコマンドの確認

現在進行中.........

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0