環境準備¶
注釈
本章は手動デプロイに関するドキュメントであり、サーバーをROMに組み込む、またはFIRERPAサービスを自分で起動する必要がある場合に適用されます。APPを使用してサーバーを起動しており、関連する要件がない場合は本章を参照する必要はありません。
本文は、FIRERPAをインストール・実行する前に完了すべきデバイス、システム、ネットワークなどの環境準備について説明します。FIRERPAがサポートするデバイスの種類とアーキテクチャは多岐にわたるため、ここでは一般的なデバイスと事前に設定すべき環境を列挙します。実際の状況に応じて適切な方法を選択できます。FIRERPAは大きくクライアントとサーバーに分かれます。クライアントは主にPython関連のライブラリとインタフェースであり、サーバーは対象のスマートフォン上で動作するサービスです。コンピュータにPythonライブラリをインストールしてスマートフォンを制御することが可能ですが、Pythonでデバイスを制御する必要がある場合は、スマートフォンにAndroidサーバーをインストールして実行する必要があります。
基本要件¶
FIRERPAの最も理想的な実行環境は、4GB以上のRAMと4GB以上の利用可能ストレージを備えたAndroidデバイスまたはエミュレータです。実機のAndroidスマートフォンをお持ちでない場合は、最新バージョンのNoxPlayer、LDPlayer、またはAVDエミュレータを使用できます。FIRERPAの全機能を発揮するには、デバイスにroot権限が必要です。root権限がない場合でも、開発者モードを使用してadbシェル権限で実行できますが、一部の特権機能が制限または使用不可になります。
システム設定¶
通常、お使いのスマートフォンでは以下の設定も必要です。これらの設定は必須ではありませんが、一回で成功させるために、時間がある場合には以下の幾つかの設定を完了することを推奨します。
タイムゾーンと時刻の確認¶
システム設定を開き、日付と時刻を探し、中国標準時 またはお住まいの地域のタイムゾーンに自動設定されているか確認し、時刻が正しいか、許容範囲内であるかを確認します。自動設定されていない場合は、ネットワーク提供のタイムゾーンを使用 および ネットワーク時刻 をオフにし、タイムゾーンと時刻を現在地に合わせて手動で設定します。
アクセシビリティをオフにする¶
システム設定を開き、アクセシビリティ(システムまたはその他の設定内にあります)を探し、アクセシビリティ機能を使用するすべてのアプリ(TalkBack、Auto.jsなど)を無効にするかアンインストールします。
注釈
アクセシビリティ機能は関連機能と競合する可能性があります。FIRERPAのリモートデスクトップや関連インタフェースを正常に使用できない場合にのみ、この環境を確認してください。
ネットワーク設定¶
実機、クラウドフォン、エミュレータなどのデバイスのネットワーク環境はそれぞれ異なりますので、実際の状況に応じて以下の対応する設定を行う必要があります。設定を行わないと、インストール後にサービスに正常にアクセスできない可能性があります。
実機の場合は、PCとスマートフォンが同一ネットワークに接続されていることを確認するだけで十分です。エミュレータの場合、デフォルトで作成されるエミュレータは通常ホストマシンのネットワークと相互接続されていません。VMwareベースのAndroid-x86仮想マシンを使用している場合は、仮想マシンの設定でネットワークモードをブリッジに設定する必要があります。LDPlayerやNoxPlayerなどのエミュレータでは、インスタンスの設定でプロンプトに従ってドライバをインストールし、ブリッジモードを有効にしてシステムを再起動します。Android Studioの仮想デバイスの場合、関連する設定が存在しないため、AVD内のFIRERPAに接続するには、adb forward tcp:65000 tcp:65000 を実行し、localhost を使用して接続します。
注釈
転送された、または元々ループバックアドレスにバインドされているサービスポートについては、localhost を 127.0.0.1 の代わりに使用することを推奨します。これは、中間者パケットキャプチャなどの一部のツールが、localhost に基づいてUSB経由の使用かどうかを判断するためです。
その他の設定¶
WSA (Windows Subsystem for Android)¶
WSA (Windows Subsystem for Android) を使用する場合は、WSAのバージョンが2210.40000以上であることを確認してください。次に、WSAの設定 -> サブシステムリソース -> Continuous を選択し、Advanced Networking をオフにします。さらに、Developer を選択し、Developer mode を有効にしてタブを展開し、「Support single machine UI automation」にチェックを入れ、最後にWSAサブシステムを再起動します。
AVD (Android Studio Virtual Device)¶
AVD (Android Studio Virtual Device) を使用する場合は、まずデフォルトのストレージ容量とメモリサイズを拡張します。
Android StudioのVirtual Device Managerで、新しい仮想マシンを作成します。次に、該当する仮想マシンを見つけ、後ろの編集ボタン(鉛筆アイコン)をクリックし、Show Advanced Settingsをクリックして、Storage -> Internal Storage を見つけて少なくとも2GBに設定し、RAMメモリサイズを少なくとも4GBに設定します。
Redroid (android in docker)¶
注目
以下の方法は他のLinuxディストリビューションには適用されない可能性があります。
Redroid (android in docker) を使用する場合、公式推奨の Ubuntu 20.04 を例にすると、まず linux-modules-extra 関連モジュールをインストールします。
apt install linux-modules-extra-`uname -r`
/etc/modules ファイルを編集し、以下の名前をコピーしてファイルの末尾に挿入し、現在のホストマシンを再起動します。
# redroid modules
mac80211_hwsim
binder_linux
ashmem_linux
最後に以下のコマンドを使用して起動します。redroid_gpu_mode およびその他の関連パラメータは、実際の状況に応じて修正してください。
注目
注意:以下のコマンドは公式ガイドと異なりますので、必ず下記のコマンドを使用してください。
docker run -itd --rm --privileged --pull always -v /lib/modules:/lib/modules:ro -v ~/redroid:/data -p 127.0.0.1:5555:5555 -p 127.0.0.1:65001:65000 redroid/redroid:12.0.0-latest androidboot.redroid_gpu_mode=guest
上記のコマンドでコンテナの65000がホストの65001にマッピングされているのは、一部のツールが一時的にホストの65000ポートにバインドする必要があるためです。競合を避けるため、65001ポートを使用します。
注釈
上記のコマンドで起動したAndroid redroidコンテナは、ポートマッピングが行われているため、システム内の65000がホストの65001にマッピングされています。ホストマシン上で http://127.0.0.1:65001 経由でアクセスする必要があります。