Linux でのエミューレータ
444字程度約1分
準備作業
1. MAA をインストールする
Linux ダイナミック ライブラリを MAA ウェブサイト からダウンロードし、解凍します
./MAA-v{バージョン}-linux-{アアーキテクチャ}/Python/ディレクトリに移動します、sample.pyファイルを開け
ヒント
プリコンパイル済みバージョンには、比較的新しいLinuxディストリビューション(Ubuntu 22.04)でコンパイルされた動的ライブラリが含まれており、システムに古いバージョンのlibstdc++がある場合、ABIの非互換性に遭遇する可能性があります Linuxコンパイル・チュートリアル を参照して再コンパイルまたはコンテナを使用して実行できます
- Arch Linuxシリーズのリリース版は、aur パッケージ maa-assistant-arknightsを選択する使用し、インストール後のプロンプトに従ってファイルを編集することができる
 
2. adb 構成
adbツール呼び出し- エミュレータが 
Android Studioにavdを使用している場合は、adbが付属します。adb.exeの欄に直接adbパスを記入することができ、一般的には$HOME/Android/Sdk/platform-tools/で見つけることができます。例: 
if asst.connect("/home/foo/Android/Sdk/platform-tools/adb", "エミュレータの adb アドレス"):- 他のエミュレータを使用する場合は、最初に 
adbをダウンロードして:$ sudo apt install adb次に、パスを入力するか、PATH環境変数を使用してadbを直接入力します 
- エミュレータが 
 エミュレータの
adbパス取得- adb ツールを直接使用できます: 
$ adbパス devices,例: 
$ /home/foo/Android/Sdk/platform-tools/adb devices List of devices attached emulator-5554 device- 返される 
emulator-5554はエミュレータのadbアドレスで、127.0.0.1:5555を上書きします、例: 
if asst.connect("/home/foo/Android/Sdk/platform-tools/adb", "emulator-5554"):- adb ツールを直接使用できます: 
 この時点で、
$ python3 sample.pyをテストでき、接続成功が返されれば、基本的に成功です
3. タスク構成
カストムタスク: 必要に応じて 統合ドキュメント を参照し、 sample.py の # タスクとパラメーターについては 統合ドキュメント 欄を変更する
エミュレータのサポート
✅ AVD
必須構成: 16:9 の画面解像度で、解像度は 720p より大きい必要がある
推奨構成: x86_64 のフレームワーク (R - 30 - x86_64 - Android 11.0) と MAA のLinux x64 ダイナミック ライブラリ
- Android 10 以降、SELinux が 
Enforcingモードの場合、Minitouch は使用できません、別のタッチモードに切り替えてください。または SELinux を 一時的にPermissiveモードに切り替え。 
⚠️ Genymotion
高バージョンの Android は x86_64 フレームワークを搭載しており、軽量ですがアークナイツを実行するとフラッシュバックしやすい
厳格なテストは行われておらず、 adb 機能とパス取得に問題はありません
コンテナー化された Android のサポート
ヒント
以下のソリューションには通常、カーネルモジュールに関する特定の要件がありますので、特定のスキームとディストリビューションに従って適切なカーネルモジュールをインストールしてください
✅ Waydroid
インストール後に解像度(または 720P より大きく 16:9 の解像度)をリセットしてから、再起動する必要があります:
waydroid prop set persist.waydroid.width 1280
waydroid prop set persist.waydroid.height 720adb の IP アドレスを設定する: 設定 - バージョン情報 - IPアドレス を開き、最初の IP を記録するし、sample.py の adb IP に ${記録したIP}:5555 を入力する。
amdgpu を使用すると、screencap コマンドが stderr に情報を出力し、画像のデコードに失敗することがあります。 adb exec-out screencap | xxd | head と入力し、出力に /vendor/etc/hwdata/amdgpu.ids: No such file... のようなテキストがあるかどうかを確認して、これを確認します。 resource/config.json のスクリーンショットコマンドを adb exec-out screencap から adb exec-out 'screencap 2>/dev/null' に変更してみてください。
✅ redroid
Android 11 バージョンのイメージは正常に動作し、5555 adb ポートを公開する必要があります。
