有谁知道为什么 Google Pixel 5 和 Google Pixel 5e (API 30) 在查看由 Firebase 测试实验室中的 Automatic Robo Script 生成的其他正常应用内屏幕截图时,可能会有一个纯黑色覆盖层完全遮挡屏幕的最右侧 60% ?
我们在测试这个应用程序时没有遇到此类显示问题,该应用程序是在 Unity 2017 中构建并导出到 Android Studio,然后在其他 20 台设备上作为 .aab 构建上传到 Firebase 测试实验室,其中一些设备在 Firebase 测试实验室中正确显示,包括其他像素。
在 Android Studio Pixel 2、Pixel 4 和 Pixel XL 模拟器中专门测试 API 30 时,我们也没有出现显示问题。
不确定机器人卡住是否是 Pixel 5 的功能,而真正的用户会知道滑开屏幕或其他东西。任何没有购买 Pixel 5 进行调试的帮助将不胜感激。
由探索应用程序的 firebase robo 脚本生成的图像
- - - - - - - 更新: - - - - - - - - -
我一直在使用我在 Pixel 5 上的 5 次每日 Robo 测试来尝试调试这个问题,我想我要解决的第一件事是 Play Console 的发布前报告中显示的一些构建警告(但不是在 Android Studio 或在 Firebase 的测试结果中)类型为“不支持的 API”:
StrictMode policy violation: android.os.strictmode.NonSdkApiUsedViolation: Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionAction(III)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
at android.os.StrictMode.lambda$static$1(StrictMode.java:428)
at android.os.-$$Lambda$StrictMode$lu9ekkHJ2HMz0jd3F8K8MnhenxQ.accept(Unknown Source:2)
at java.lang.Class.getDeclaredMethodInternal(Native Method)
at java.lang.Class.getPublicMethodRecursive(Class.java:2075)
at java.lang.Class.getMethod(Class.java:2063)
at java.lang.Class.getMethod(Class.java:1690)
at cEa.a(PG:9)
at cEi.a(PG:12)
at org.chromium.content.browser.selection.SmartSelectionClient.<init>(PG:5)
at cEQ.a(Unknown Source:7)
at org.chromium.android_webview.AwContents.e(PG:245)
at org.chromium.android_webview.AwContents.d(PG:210)
at org.chromium.android_webview.AwContents.<init>(PG:77)
at to.run(PG:15)
at aJK.a(PG:13)
at aJL.run(Unknown Source:2)
at org.chromium.base.task.PostTask.b(PG:16)
at aJK.a(PG:7)
at com.android.webview.chromium.WebViewChromiumFactoryProvider.b(PG:6)
at com.android.webview.chromium.WebViewChromium.init(PG:105)
at android.webkit.WebView.<init>(WebView.java:422)
at android.webkit.WebView.<init>(WebView.java:348)
at android.webkit.WebView.<init>(WebView.java:331)
at android.webkit.WebView.<init>(WebView.java:318)
at android.webkit.WebView.<init>(WebView.java:308)
at com.google.android.gms.ads.internal.webview.ac.<init>(:com.google.android.gms.policy_ads_fdr_dynamite@204204100@204204100057.336078696.336078696:1)
at com.google.android.gms.ads.internal.webview.s.a(Unknown Source:0)
at com.google.android.gms.ads.internal.util.bi.b(:com.google.android.gms.policy_ads_fdr_dynamite@204204100@204204100057.336078696.336078696:3)
at com.google.android.gms.ads.internal.webview.v.a(:com.google.android.gms.policy_ads_fdr_dynamite@204204100@204204100057.336078696.336078696:2)
at com.google.android.gms.ads.internal.js.l.<init>(:com.google.android.gms.policy_ads_fdr_dynamite@204204100@204204100057.336078696.336078696:4)
at com.google.android.gms.ads.internal.js.n.run(Unknown Source:0)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at qd.a(:com.google.android.gms.policy_ads_fdr_dynamite@204204100@204204100057.336078696.336078696:0)
at com.google.android.gms.ads.internal.util.f.a(:com.google.android.gms.policy_ads_fdr_dynamite@204204100@204204100057.336078696.336078696:1)
at qd.dispatchMessage(:com.google.android.gms.policy_ads_fdr_dynamite@204204100@204204100057.336078696.336078696:0)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
我们使用的一个 SDK 是适用于 Unity 的 Google Mobile Ads(版本 5.4.0),它在 Android Studio 的项目模块之外有自己的 build.gradle 文件,其默认设置(通过 Unity 2017 导出时不支持API 30) 如下:
buildToolsVersion '29.0.2'
targetSdkVersion 19
在黑屏状态的实例中,我根据 Android Studio 的建议(targetSdkVersion 19 显示为红色)将这些更新为:
buildToolsVersion '31.0.0-rc3'
targetSdkVersion 30
将这些设置回明显损坏的 Unity 默认值并重新上传到 Robo Test 后,它就起作用了!Pixel 5 显示全屏。我有一种感觉正在发生其他事情,但是在反转过程时会恢复黑屏,第二次将其向前推动并没有解决它。我现在已经完成了日常测试。