Co-authored-by: Rbqwow <55343783+Rbqwow@users.noreply.github.com> Co-authored-by: MistEO <mistereo@hotmail.com>
9.2 KiB
order, icon
| order | icon |
|---|---|
| 3 | teenyicons:linux-alt-solid |
Linux でのエミューレータ
準備作業
以下のインストール方法から一つを選択してください:
maa-cli を使用する
maa-cli は Rust で書かれたシンプルな MAA コマンドラインツールです。関連するインストールと使用方法については、CLI 使用ガイド をご覧ください。
Wine を使用する
MAA WPF GUI は現在 Wine を通じて実行できます。MAAは.NETランタイムを内蔵しています(自己完結型デプロイ)。
インストール手順
-
Visual C++ Redistributable をインストールする:
Visual C++ 再頒布可能パッケージ をダウンロードしてインストールします:
wine vc_redist.x64.exe::: tip
DependencySetup_依赖库安装.batは winget と Windows の権限昇格機構に依存しているため、Wine では通常正常に動作しません。そのため、ランタイムライブラリは手動でインストールする必要があります。 ::: -
Windows 版 MAA をダウンロードし、解凍した後、
wine MAA.exeを実行します。
::: info 注意
接続設定で ADB パスを Windows 版 adb.exe に設定する必要があります。
ADB 経由で USB デバイスに接続する必要がある場合は、まず Wine の外で adb start-server を実行し、Wine を通じてネイティブ ADB サーバーに接続してください。
:::
Linux ネイティブ MaaCore の使用(実験的機能)
MAA Wine Bridge のソースコードをダウンロードしてビルドし、生成された MaaCore.dll(ELF ファイル)で Windows 版を置き換え、Linux ネイティブ動的ライブラリ(libMaaCore.so および依存関係)を同じディレクトリに配置します。
この状態で Wine を通じて MAA.exe を実行すると、Linux ネイティブ動的ライブラリが読み込まれます。
::: info 注意 Linux ネイティブ MaaCore を使用する場合は、接続設定で ADB パスを Linux ネイティブ ADB に設定する必要があります。 :::
Linux デスクトップ統合(実験的機能)
デスクトップ統合は、ネイティブデスクトップ通知サポートと fontconfig フォント設定を WPF にマッピングする機能を提供します。
MAA Wine Bridge で生成された MaaDesktopIntegration.so を MAA.exe と同じディレクトリに配置すると有効になります。
既知の問題
- Wine DirectWrite は強制的にヒンティングを有効にし、DPI を FreeType に渡さないため、フォント表示が良くありません。
- ネイティブデスクトップ通知を使用しない場合、通知がポップアップするとシステム全体のマウスフォーカスを奪うため、他のウィンドウを操作できなくなります。
winecfgで仮想デスクトップモードを有効にするか、デスクトップ通知を無効にすることで緩和できます。 - Wine-staging ユーザーは、MAA が Wine 環境を正しく検出できるように、
winecfgのWine バージョンを隠すオプションを無効にする必要があります。 - Wine の Light テーマは WPF で一部のテキストカラーに異常を引き起こすため、
winecfgでテーマなし(Windows クラシックテーマ)に切り替えることをお勧めします。 - Wine は古い XEmbed トレイアイコンを使用しており、GNOME では正常に動作しない可能性があります。
- Linux ネイティブ MaaCore を使用している場合、自動更新はサポートされていません(
更新プログラム:Windows 版をダウンロードすべきでしょうか)
Python を使用する
MAA 動的ライブラリのインストール
-
Linux ダイナミック ライブラリを MAA ウェブサイト からダウンロードし、解凍します、または以下のソフトウェアリポジトリからインストールします:
- AUR:maa-assistant-arknights、インストール後のプロンプトに従ってファイルを編集します
- Nixpkgs: maa-assistant-arknights
-
./MAA-v{バージョン}-linux-{アアーキテクチャ}/Python/ディレクトリに移動し、sample.pyファイルを開きます
::: tip プリコンパイル済みバージョンには、比較的新しいLinuxディストリビューション(Ubuntu 22.04)でコンパイルされた動的ライブラリが含まれており、システムに古いバージョンのlibstdc++がある場合、ABIの非互換性に遭遇する可能性があります。 Linuxコンパイル・チュートリアル を参照して再コンパイルまたはコンテナを使用して実行できます。 :::
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をテストでき、接続成功が返されれば、基本的に成功です
タスク構成
カスタムタスク:必要に応じて 統合ドキュメント を参照し、sample.py の # タスクとパラメーターについては docs/integration.md 参照 欄を変更します
エミュレータのサポート
✅ 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 のサポート
::: tip 以下のソリューションには通常、カーネルモジュールに関する特定の要件がありますので、特定のスキームとディストリビューションに従って適切なカーネルモジュールをインストールしてください :::
✅ Waydroid
インストール後に解像度(または 720P より大きく 16:9 の解像度)をリセットしてから、再起動する必要があります:
waydroid prop set persist.waydroid.width 1280
waydroid prop set persist.waydroid.height 720
adb の IP アドレスを設定する: 設定 - バージョン情報 - IPアドレス を開き、最初の IP を記録するし、sample.py の adb IP に ${記録したIP}:5555 を入力する。
✅ redroid
Android 11 バージョンのイメージは正常に動作し、5555 adb ポートを公開する必要があります。