Category: FAQ-再生

画面キャプチャの許可を頻繁に要求される

FRep2サービスは記録や再生に必要な場合(画像認識、OCR、スクリーンショット)のみ画面キャプチャを行います。

Android 14の動作について

Android 14では、画面キャプチャ機能を含むサービスの開始時にも画面キャプチャ権限の許可が必要となりました。このため、FRep2サービスは「サービス起動や画面キャプチャを使用した数分後(調整可能)」または「画面OFF」時に権限を解放します
※権限が解放されると通知バー右上の画面キャプチャアイコンが消えます。

権限が解放された後に記録や再生を行う場合、FRep2は必要に応じて再び権限の許可を要求します。

Android 14でキャプチャ権限をより長い時間維持したい場合は、システム設定の画面キャプチャ権限の解放を変更してください。


(解消法)権限を付与して許可を省略する

PC/Macと通信可能なUSBケーブル、または別のAndroid機器とUSBホスト(OTG)アダプタ(またはケーブル)がある場合は、精密モード設定ツールに同梱されている画面キャプチャ権限の付与(frep2_grantcapture)を実行することで、USBデバッグを使用してFRep2アプリに権限を付与できます。アプリ自体が権限をもつことで、以降はFRep2サービスや再生に画面キャプチャの許可は表示されなくなります。

※Androidを再起動しても維持されます。
※Android 14のサービス起動時にも要求は表示されなくなります。

手順はそれぞれの設定ツール内の使用法を参照してください。

画像認識が失敗する

画像認識が成功せず時間切れになる(失敗する)主な原因は「実際の画面内に指定した画像が出ていない」「画面のスクリーンショット撮影に失敗している」のいずれかです。原因の特定と対処法として以下をお試しください。


認識に失敗したときのスクリーンショットを確認する

  1. 画像認識項目の設定で、高度な設定 – 失敗時 スクリーンショット保存 をONにする
    ※保存には FRep2によるストレージ(メディア)アクセス権限が必要です
  2. 1.の設定後、その記録を再生して実際に画像認識が失敗することを確認する
  3. 再度その画像認識項目の設定で、高度な設定 – 失敗時 スクリーンショットをタップすると失敗時のスクリーンショット画像が表示される

「画像を開けません」メッセージが表示される: 次節「スクリーンショット撮影に失敗している場合」を参照してください

→ スクリーンショットではなく真っ黒な画像が現れる: 次節「スクリーンショット撮影に失敗している場合」を参照してください

→ スクリーンショットが表示されるが想定していた画面と異なる: 撮影タイミングが異なる場合は、判定時間(目安)を大きくして画像認識の時間を延長するなどして調整してください

→ スクリーンショットが表示されるが認識対象の位置が異なる: アプリが更新されて位置が変わったり、あるいは認識対象の位置が移動しています。右上のリトライ(再)ボタンを押して、認識設定を検索:類似度にして画面内から検索するように変更してみてください。
※もし、出てくる位置が2箇所だけの場合などパターンが少ない(検索するまでもない)場合は、新しく画像認識項目を追加してそれぞれ順番に2箇所を判定してみてください。

→ スクリーンショットが表示されるが失敗する画像に見えない: 成功すべき画像に見えていても、失敗となる原因は「画像データ上の色が異なる」「位置が異なる」ためです。右上のリトライ(再)ボタンを押して、認識設定を完全一致ではなく色の類似度を指定する、既に類似度を指定している場合は類似度の閾値を調整する、検索:類似度を指定してみるなどお試しください。


スクリーンショット撮影に失敗している場合

※スクリーンショットの撮影が禁止されているアプリでは、FRep2だけでなく他のキャプチャ機能を持つアプリや、Android OSも撮影を行えません。その場合は下記の設定を行っても撮影可能にはなりませんので予めご承知おきください。

簡易モード(スクリーンAPI)での撮影に失敗する場合

下記の関連設定をお試しください。

精密モードでの撮影に失敗する場合

下記の関連設定を順番にお試しください。

  1. FRep2オプション – 精密モード設定 – 撮影失敗時リトライ: ON
  2. (Android ~9またはRoot環境のみ) 精密モード設定 – 撮影画像の取得法: 転送
  3. (Root環境のみ) システム設定 – 標準UIDを使用: OFF (※解決しなかった場合はONに戻すことを推奨)
  4. 問題が解決しない場合、FRep2オプション – 精密モード設定 – 撮影タイプ: スクリーンAPI

※撮影タイプ: スクリーンAPIを指定後にも問題が発生する場合は、前節を参照してください。

一部のタッチが再生されないことがある

再生開始直後のタッチなどが再生されない(FRep2のカーソルは表示されるが反応がない)場合、機器やアプリ側がタッチ入力を受け付けていない状態です。プログラムの編集にて待機項目を追加する、画像認識項目の高度な設定:初回撮影前に待機を指定するなどして、機器やアプリが入力を受け付ける状態まで待ってからタッチが再生されるようにしてください。

※記録の編集画面で再生設定: 最初の待機を省略が指定されている場合、最初の待機項目は無視されます。タップして冒頭の待機も再現を指定してください。

機器やアプリがタッチ入力を受け付けない状態の例
  • 再生開始時の画面キャプチャの許可確認の直後 (Android ~9では「今後確認しない」を指定した場合でも発生)
  • 機器の負荷が高い場合 (画面遷移が完了していないなど)

正しくアプリが認識されない

実際にはそのアプリが実行されていないにも関わらず、再生が「アプリ変化(再生設定)」「保護されているアプリ」で中断する場合や、常に通知バーに「現在のアプリでは操作できません」と表示される場合は、システム設定「アプリ認識モード」を変更して動作を確認してください。

一方、アプリ認識自体には問題がなく、再生が「アプリ変化(再生設定)」で中断しないように設定する場合は、その記録の「中断設定:アプリ変化で中断」を OFFにしてください。

また「保護されているアプリ」に関しては「アプリ」にてFRep2の動作を制限するアプリの設定を確認してください。

再生やFRep2サービス・ユーザー補助サービスが不定期に停止する

まずは問題の発生後にサポート情報や再生ログから、再生の中断やサービスのエラーが発生していないかを確認してください。ナビゲーションメニューの 状態からシステム情報画面を開き、右上のメニュー「サポート情報をコピー」を選択するとクリップボードに情報がコピーされます。テキストエディタやメーラーアプリに貼り付けて内容を確認してください。

  1. 再生ログやサポート情報の LAST LOG 部分を参照し、最後の再生が正しく中断したかどうかを確認します。
  2. サポート情報の LAST ERROR 部分を参照し、問題が発生した日時に相当するエラーメッセージがある場合は、FRep2サービスまたはFRep2ユーザー補助サービス上でエラーが発生しています。
    調査・修正のためサポート情報の内容を貼り付けたメールをサポート support(at)strai.x0.com までご連絡ください。

中断やエラーが発生していないにも関わらず、再生やサービスが停止した場合は、機器の省電力機能やメーカーによる性能維持機能のためにFRep2サービスやFRep2ユーザー補助サービスが強制終了されています。FRep2サービスおよびFRep2ユーザー補助サービスを持続して動作させるため、FRep2アプリを強制終了の対象外に設定してください。


省電力機能の対象外設定

サポート情報やFRep2システム情報画面にBatteryOptキーワードが表示されている場合、FRep2アプリが省電力機能によって強制終了される設定です。

  1. Android共通の設定を確認するため、ナビゲーションメニューの セットアップから「任意の追加設定 – 電池の最適化の対象外に指定」または画面下部の「関連設定ショートカット – 電池の最適化」をタップします。
  2. 「省電力機能の対象外アプリ(または 最適化していないアプリ)」に FRep2が含まれない場合は、FRep2を含むよう操作します。手順はOSバージョンやメーカーによって異なりますが、多くの場合はリスト表示を「すべてのアプリ」に切り替えた後、FRep2を選択して対象外に指定する(最適化しないを選択する)ことで設定できます。
  3. 上記の設定後もシステム情報画面からBatteryOptキーワードが消えない場合は、メーカー独自の省電力機能を確認します。省電力機能のON/OFFが可能である場合は、OFFにしてみてください。

性能維持・アプリ管理機能の設定

省電力機能の対象外に設定済で、BatteryOptキーワードが表示されていないにも関わらずFRep2サービスやFRep2ユーザー補助サービスがエラー無く強制終了されている場合、機器固有の設定やリソース管理アプリを確認します。

セキュリティアプリやリソース管理アプリを使用している場合は、その設定を確認してFRep2を強制終了しないよう設定してください。

機器固有の設定(主にSamsung製Android 9~, Huawei製, Xiaomi製, Asus製)については、専門のサイト https://dontkillmyapp.com/ (英語)を確認してください。


ロック画面の表示設定 (精密モード)

Android 10以降の環境では、ロック画面の表示後に「StrServから応答がありません.」と表示され精密モードでの再生が失敗する報告があります。機器の仕様によりロック画面が精密モード設定ツールの効果を消去している場合があるため、可能であればロック画面を使用しない設定をお試しください。


FRep2ユーザー補助サービスを使用しない方法

FRep2ユーザー補助サービスが継続動作しない環境では、精密モードでのみFRep2を利用できます。設定の手順については下記を参照してください。

  1. (FRep2ユーザー補助サービスがONの場合) FRep2 セットアップ下部の「ユーザー補助」ボタンを押してユーザー補助サービスの画面を開き、FRep2ユーザー補助サービスを OFFにする
  2. FRep2 オプションの「動作モード: 精密モード」を設定する
  3. FRep2 オプション – システム設定の「アプリ認識モード: 使用状況(遅延あり)」を設定する
  4. 表示される水色のメッセージ「アプリ認識のため使用状況へのアクセスを有効にしてください(タップして開く)」またはセットアップ内の「使用状況へのアクセス」をタップして該当の設定画面を開き、FRep2を選択して使用状況へのアクセスを許可する
  5. 設定ツールを使用して精密モードを設定する

画像認識・シーン認識の動作が遅い

画像認識項目やシーン認識は「スクリーンショットの撮影」と「画像認識計算」を行います。より高速な動作を行うにはそれぞれの関連設定をお試しください。

スクリーンショット撮影

再生プロセスのポップアップ通知が表示されている場合、FRep2はその通知を消去してからスクリーンショットを撮影します。ポップアップ通知を表示しない設定として、状態表示設定「再生プロセスの通知: 再生完了のみ()」などを指定する、もしくはプログラム内でポップアップしたくない項目のラベルを空にしてください。

また、精密モードでのスクリーンショット撮影ではその手法を変更できます。機器にもよりますが、精密モード設定「撮影タイプ: スクリーンAPI」を設定することで撮影がより高速になります。

手法を変更したことで撮影タイミング自体が早くなりすぎてしまう場合は、画像認識項目「高度な設定 – 初回撮影前に待機」をONにする、シーン認識の場合はスクリーンショット設定「シーン判定直前の待機」を指定してみてください。

画像認識設定

画像認識項目の設定については、計算量が速度に依存します。条件によって異なりますが、完全一致一致ピクセル率色の類似度の順、検索:完全一致検索:色の類似度でより計算量が大きくなります。ただし、アプリ側の描画方法や描画エンジンによって、同一の状況・画像に見える場合も、値は異なるケースがあるため、実際には完全一致や一致ピクセル率が適用できる場面は多くありません。

「完全一致」「一致ピクセル率」「色の類似度」をより高速に行う場合は、認識する矩形のサイズをより小さくする、判別に不要な領域はマスクで塗りつぶすことで計算量を削減できます。

「検索」をより高速に行う場合は、認識対象が現れる可能性のある位置から検索範囲を指定することで計算量を削減できます。また、マスクの指定にはご注意ください。マスクによって個別の比較は高速化されますが、検索に使用する特徴点の都合、特徴点が削減された場合は比較する候補が増加するため、マスク指定では全体の計算量・計算時間が削減されるとは限りません。

精密モードでタッチ操作が再生されない

精密モードでの再生時にタッチ操作が再生されず、「再生完了」と表示される場合は以下を確認してください。


「タッチ情報の取得」を行う

FRep2アプリを開き、ナビゲーションメニューからタッチ情報の取得を選択して、タップなどの操作を登録することで、正しく入力機器のタイプ判定が行われると正常に再生されるようになります。

ナビゲーションメニューに表示されていない場合は、既にタッチ情報の取得は実行済です。次の項目を参照してください。なお、タッチ情報の取得を再度行う場合はオプションから実行できます。

「ホバーシグナル処理」を設定する

FRep2アプリを開き、ナビゲーションメニューからオプション 精密モード設定を選択して、ホバーシグナル処理の設定を変更します。入力機器のタイプに一致する設定を指定すると正常に再生されるようになります。

※「自動」を選ぶと、タッチ情報の取得で判定されたタイプが使用されます。

(Xperia Ace II, Android 11にて実機確認: ホバーシグナル処理「なし」)

Zenfone Max (Pro) M2 (Android 8, 8.1)

Asus Zenfone Max M2, Max Pro M2 (Android 8, 8.1)でFRep2アプリが再生中にエラー終了する場合、ポップアップ通知に関するエラーが発生しています。オプション – 状態表示設定 – 再生プロセスの通知: 表示しない を指定してください。