I have an error from Google pre-launch report, and upon further investigation, I found a video recording that demonstrates the same issue. In the video, a tester is using my app, which consists of two activities. In the first activity, users input their weight, height, age, and gender. The second activity provides the BMI result based on these inputs.
To ensure data completeness, I have implemented various checks and toast messages in the first activity. If the user misses any of the required entries, a toast message appears, informing and prompting the user to input the missing information. Importantly, the second activity won't open unless all the necessary entries are completed.
However, in the video, the tester intentionally skips some entries in the first activity and proceeds to click the calculate button. This behavior continues for the entire five-minute video, preventing the second activity from opening. Towards the end of the video, the tester finally enters all the required information and clicks the calculate button.
As a result of this testing, an error was generated on the device used by the tester
01-03 01:57:23.821: E/MonitoringInstr(8891): java.lang.IllegalArgumentException: Activity client record must not be null to execute transaction item
01-03 01:57:23.821: E/MonitoringInstr(8891): at android.app.servertransaction.ActivityTransactionItem.getActivityClientRecord(ActivityTransactionItem.java:85)
01-03 01:57:23.821: E/MonitoringInstr(8891): at android.app.servertransaction.ActivityTransactionItem.getActivityClientRecord(ActivityTransactionItem.java:58)
01-03 01:57:23.821: E/MonitoringInstr(8891): at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:43)
01-03 01:57:23.821: E/MonitoringInstr(8891): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
01-03 01:57:23.821: E/MonitoringInstr(8891): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
01-03 01:57:23.821: E/MonitoringInstr(8891): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2210)
01-03 01:57:23.821: E/MonitoringInstr(8891): at android.os.Handler.dispatchMessage(Handler.java:106)
01-03 01:57:23.821: E/MonitoringInstr(8891): at android.os.Looper.loopOnce(Looper.java:201)
01-03 01:57:23.821: E/MonitoringInstr(8891): at android.os.Looper.loop(Looper.java:288)
01-03 01:57:23.821: E/MonitoringInstr(8891): at android.app.ActivityThread.main(ActivityThread.java:7839)
01-03 01:57:23.821: E/MonitoringInstr(8891): at java.lang.reflect.Method.invoke(Native Method)
01-03 01:57:23.821: E/MonitoringInstr(8891): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
01-03 01:57:23.821: E/MonitoringInstr(8891): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
It's worth noting that this error appears to be specific to Android 12 and certain devices, such as Google and Samsung devices. When I tested the app on my Motorola device running Android 12, it worked correctly.
When I have tested the app on my phone with the same constraints (for the same time duration and same inputs), it runs perfectly fine on my device, which is by the way also Android 12 and the manufacturer is Motorola.
Can't I just ignore the errors of the pre launch report and carry on with the publishing process after the Closed Testing for my app is completed, or it is necessary to resolve all the errors in the pre launch report?