一部の環境(Pixel 6a, Android 14)で、簡易モードでの記録(Plate)中、画面を覆う記録用のプレートをタップしても実際の画面がタッチされない問題が報告されています。
FRep2オプション – 簡易モード設定 – Plate消去の待ち時間 を、より長い時間に設定してみてください。
※Plate消去の待ち時間は、FRep 2.4b以降で利用できます。
一部の環境(Pixel 6a, Android 14)で、簡易モードでの記録(Plate)中、画面を覆う記録用のプレートをタップしても実際の画面がタッチされない問題が報告されています。
FRep2オプション – 簡易モード設定 – Plate消去の待ち時間 を、より長い時間に設定してみてください。
※Plate消去の待ち時間は、FRep 2.4b以降で利用できます。
FRep2サービスは記録や再生に必要な場合(画像認識、OCR、スクリーンショット)のみ画面キャプチャを行います。
Android 14では、画面キャプチャ機能を含むサービスの開始時にも画面キャプチャ権限の許可が必要となりました。このため、FRep2サービスは「サービス起動や画面キャプチャを使用した数分後(調整可能)」または「画面OFF」時に権限を解放します。
※権限が解放されると通知バー右上の画面キャプチャアイコンが消えます。
権限が解放された後に記録や再生を行う場合、FRep2は必要に応じて再び権限の許可を要求します。
Android 14でキャプチャ権限をより長い時間維持したい場合は、システム設定の画面キャプチャ権限の解放を変更してください。
PC/Macと通信可能なUSBケーブル、または別のAndroid機器とUSBホスト(OTG)アダプタ(またはケーブル)がある場合は、精密モード設定ツールに同梱されている画面キャプチャ権限の付与(frep2_grantcapture)を実行することで、USBデバッグを使用してFRep2アプリに権限を付与できます。アプリ自体が権限をもつことで、以降はFRep2サービスや再生に画面キャプチャの許可は表示されなくなります。
※Androidを再起動しても維持されます。
※Android 14のサービス起動時にも要求は表示されなくなります。
手順はそれぞれの設定ツール内の使用法を参照してください。
画像認識が成功せず時間切れになる(失敗する)主な原因は「実際の画面内に指定した画像が出ていない」「画面のスクリーンショット撮影に失敗している」のいずれかです。原因の特定と対処法として以下をお試しください。
→「画像を開けません」メッセージが表示される: 次節「スクリーンショット撮影に失敗している場合」を参照してください
→ スクリーンショットではなく真っ黒な画像が現れる: 次節「スクリーンショット撮影に失敗している場合」を参照してください
→ スクリーンショットが表示されるが想定していた画面と異なる: 撮影タイミングが異なる場合は、判定時間(目安)を大きくして画像認識の時間を延長するなどして調整してください
→ スクリーンショットが表示されるが認識対象の位置が異なる: アプリが更新されて位置が変わったり、あるいは認識対象の位置が移動しています。右上のリトライ(再)ボタンを押して、認識設定を検索:類似度にして画面内から検索するように変更してみてください。
※もし、出てくる位置が2箇所だけの場合などパターンが少ない(検索するまでもない)場合は、新しく画像認識項目を追加してそれぞれ順番に2箇所を判定してみてください。
→ スクリーンショットが表示されるが失敗する画像に見えない: 成功すべき画像に見えていても、失敗となる原因は「画像データ上の色が異なる」「位置が異なる」ためです。右上のリトライ(再)ボタンを押して、認識設定を完全一致ではなく色の類似度を指定する、既に類似度を指定している場合は類似度の閾値を調整する、検索:類似度を指定してみるなどお試しください。
※スクリーンショットの撮影が禁止されているアプリでは、FRep2だけでなく他のキャプチャ機能を持つアプリや、Android OSも撮影を行えません。その場合は下記の設定を行っても撮影可能にはなりませんので予めご承知おきください。
下記の関連設定をお試しください。
下記の関連設定を順番にお試しください。
※撮影タイプ: スクリーンAPIを指定後にも問題が発生する場合は、前節を参照してください。
Android 13~では、通知を表示するにはアプリ毎に許可する必要があります。
セットアップ下部の「アプリ情報」またはAndroidの設定 – アプリ – FRep2を開き、通知を許可すると表示されるようになります。
Samsung Galaxy機器にてAndroid 13へのシステム更新後、FRep2精密モード設定ツールが動作せず ‘Shell does not have permission to access user 150’ (または user 10) エラーメッセージが現れる場合は、以下の設定ツールをお試しください。使用方法は一般のものと同一です。
[Permissionエラーが発生する環境向け精密モード設定ツール]
Windows用, Mac用, Linux用
別のAndroidとUSBホストケーブル用
上記の設定ツールでも同様のエラーが発生する場合、Secure Folderアプリ(ユーザー150)をアンインストールする、Work Profileを使用しない設定を行う(ユーザー10)ことで動作した報告があります。なお、Secure Folderは Samsung Galaxy機器のセキュリティに関する機能、Work Profileは機器の管理者による設定ですので、もしアンインストールや設定を行う場合は十分に確認してから行ってください。こちらでその影響や結果については保証できません。
また、FRep2簡易モードは設定ツール不要で動作します。
画像認識などで画像ファイルからスクリーンショットを選択する際に、あらかじめ用意したファイルが表示されない場合は以下をご確認ください。
FRep2は画像のサイズが画面サイズ以上(※)のPNG, JPG(JPEG), BMP形式ファイルをスクリーンショットと判定します。一部のファイルのみ認識されない場合はそのサイズや形式をご確認ください。
[Android 10~の場合]
プログラムの編集画面メニューのデータ設定 – メディアフィルタ無効 をONにしてみてください。
[機器のシステム更新などの後にファイルが表示されなくなった場合]
アプリから参照できる場所が制限された可能性があります。「スクリーンショットを選択」ダイアログでファイルを選択する際に、「切替」ボタンを押す、または「上へ」ボタンを長押ししてスクリーンショットの参照場所を切り替えてファイルが表示される場所( 画像/Pictures など)を確認してください。その場所に目的のファイルがない場合はお手数ですが別途ファイラーアプリなどで参照できる場所に移動してから、FRep2で利用できるかご確認ください。
(調査中のため一時的な対策を記載しています。)
オプション 状態表示設定 – 通知タップでの表示切替待ち: 2秒 など時間を設定してお試しください。
本件について現在判明している有効な対策は、通知タップで表示を切り替える代わりにFRep2の基本機能「再生可能な記録があるアプリ上で自動でパネルを表示する」を利用する方法です。
FRep2の記録画面で新規作成ボタン(記録がない場合は下部ボタン※、記録がある場合はリスト末尾の小さいボタン)を押して新しい記録を作成してください。新しい記録はデフォルトで「どのアプリでも表示」が設定されているため、FRep2自身や制限されたアプリを除き、どのアプリ上でもパネルが表示されるようになります。
記録を行いたいアプリ上で、表示されたパネルから必要な操作の記録を行ってください。記録が完了し、どのアプリでも表示する必要がなくなったら上述の新規作成した記録を削除するか、倉庫(非表示)設定を行ってください。
FRep2パネルの上ボタンを長押しすることで、フリックで選択し離すと実行する「長押しメニュー」が現れます。「パネルを閉じる」を選択するまでフリックしてから指を離すことで、通知をタップしなくともパネルを閉じられます。
再生開始直後のタッチなどが再生されない(カーソルは表示される)場合、機器やアプリ側がタッチ入力を受け付けない状態の場合があります。プログラムの編集にて待機項目を追加する、画像認識項目の高度な設定:初回撮影前に待機を指定するなどして、機器やアプリが入力を受け付ける状態まで待ってからタッチが再生されるようにしてください。
※記録の編集画面で再生設定: 最初の待機を省略が指定されている場合、最初の待機項目は無視されます。タップして冒頭の待機も再現を指定してください。
FRep2パネルが表示されている間、FRep2の通知とは別に、Androidシステムによって通知バー下部に「FRep2が他のアプリの上に表示されています」通知が表示されます。この通知は長押しすることで「通知をOFFにする(表示しない)」選択肢が現れます。
精密モード設定の記録タイプを変更し、正常なスクリーンショットが撮影されるものを選択してください。
記録タイプ: スクリーンAPI 時に撮影される画像に異常がある場合は、スクリーンショット設定 – スクリーンAPI設定をお試しください。Pixel 3a (1080×2220)では、録画時のサイズ調整:128px と 録画バッファ調整:間隔調整(奇数) の2つを指定することで正常に撮影されることを確認しています。