I recently uploaded my app to the Google Play Store but got this pre-launch report in some devices :
Issue: Crash of app com.mypackage running instrumentation
ComponentInfo{com.google.android.apps.mtaas.crawler/android.support.test.runner.AndroidJUnitRunner}
How do solve it ?
I got the answer in Google play Console Help
As of October 2017, the pre-launch report uses a new crawler to provide a more comprehensive review of your app. To do so, the pre-launch report must temporarily re-sign your APK within our test environment.
If you notice any issues, you can switch back to the previous testing process (which doesn't require APK re-signing):
Sign in to your Play Console.
Select an app.
Select Release
management > Pre-launch report > Settings.
In the 'Pre-launch report version' section, move the Opt-out switch to the right until it turns blue.
I have tested and all test passed for all devices, and no more crash for running instrumentation.
Related
I have been trying to test the purchasing of Play store subscriptions on my device, but I have not succeeded despite following several step-by-step guides[1][2][3].
My ultmate aim is to test subscriptions on my USB connected device by building and installing the app with Android Studio. Unfortunately, it seems my only option right now is to to publish the app to the Alpha track on the Play Store, wait a few hours and download it every time I make a change.
The subscription products are queried successfully using BillingClient.querySkuDetailsAsync, but when I launch the billing flow (via BillingClient.launchBillingFlow) I see the following alert on the screen:
Error
This version of the application is not configured for billing through Google Play. Check the help centre for more information.
OK
I also see the following in the console:
W/ProxyBillingActivity: Activity finished with resultCode 0 and billing's responseCode: 5
W/BillingHelper: Couldn't find purchase lists, trying to find single data.
W/BillingHelper: Received a bad purchase data.
Couldn't find single purchase data as well.
The response code 5 indicates a developer error:
Invalid arguments provided to the API. This error can also indicate that the application was not correctly signed or properly set up for In-app Billing in Google Play, or does not have the necessary permissions in its manifest.
My app is published to Internal, Alpha and Beta release tracks with the same version name and version code as the locally built APK. In the Play console, I have created a License Tester and added it to the Alpha track's testers, then opted the tester in to the Alpha track via a link. On my device, I am logged in with the tester's Google account.
I have tried building an APK signed with the release certificate, with a matching version name & code to the APK published in the store. I was at first using the "Run" and "Debug" buttons in Android Studio, but discovered that they built an unsigned[7] APK no matter how I configured the signing configs. Instead, I build using the Build->Make Project menu item, and install the resulting signed APK using ADB[5]. The "Active Build Variant" is set to "Release".
It occurred to me that it may be impossible to sign a locally built APK with the same key as the APK distributed by the Play store, as my app has "Play App Signing" enabled (which causes Google to re-sign the APK using a different key, which is inaccessible to me). However, there is a thread on StackOverflow which suggests other have had success even when using Play App Signing[6].
I have also tried waiting several days between publishing a new build to the Alpha track and trying to purchase a subscription, as I read that the Play Store sometimes takes up to 24 hours to process builds.
I am using Android Studio 4.2 on MacOS 10.15.7, with a Samsung A5 phone for testing.
[1] Selling subscriptions
[2] Testing in-app purchases on Android
[3] Checklist on Stack overflow
[4] "Run" with signed APK
[5] Install an APK via ADB
[6] Testing In-App payments with Play App Signing enabled
[7] Verifying an APK is signed
Update 2022
I never found workaround for this on my Samsung A5 running Android 8. However, I purchased a Samsung A52 (running Android 12) and it does not exhibit this problem.
you need to increase the version and upload that version as beta publish.
mostly duplication
please check This version of the application is not configured for billing through Google Play
If two apps differ in the signing key or in the package, then Google Play considers them different applications
Both debug & release versions should use the same signing key, I can make test purchases while debugging via USB on Android Studio with no problemas
something like this on the app build.gradle :
buildTypes {
release {
signingConfig signingConfigs.mykey
debuggable false;
....
}
debug {
debuggable true
signingConfig signingConfigs.mykey
....
}
}
There's a utility called "lucky patcher" which modifies app code in order to allow for bypassing in app purchases (yes, it's used for piracy, but I'm pretty sure it's not piracy to bypass your own app). You could try using it to test your app.
And in case you haven't already, once you're done, protect against it by following this: Lucky patcher, how can I protect from it?
My company has an Android app published on the Play Store since 2018. We never had any problem with the app's distribution, however since July 2020 new versions submitted and released with full rollout do not appear on the Play Store's web page or Android app - they only show an older version, published on June 2020.
We are sure that this is not a matter of caching on our end, as it is consistent across devices and platforms.
Initially, we noted that the Pre-launch report page of the Developer Console showed a few errors for these newer builds and thought that because of them the system would not release the updates, so we fixed the errors. It didn't work.
We also used to use fastlane for preparing the app's APK and uploading it, so we tried preparing the APK using Android Studio's Generate Signed APK option and uploading it manually. It also didn't work.
Our app deals with mature themes (partner swapping), but we take very good care for it to be as safe as possible. The Google Play's Developer Console shows no warning or error message for the app, so we doubt this could be the reason.
New beta and internal versions appear to beta and internal testers, but when upgraded to production, they go back to the old version from June.
No changes were made to minSdkVersion or targetSdkVersion.
For the last two APKs I have uploaded to play console the android pre launch report is showing "Devices with issues 9" under "Stability tab" but then in the individual break down each device has 0 issues. Any explanation to this? Is this APK safe to launch?
Play console screenshot
Try to check the same report in the new console. It seems some data may differ.
New console: https://play.google.com/console/developers/
I have a problem with an Android App that I have on the Android Play Store. In the Google Play ANRs & crashes report, there are reports coming from tests that I have done myself during my developments in Android Studio.
I’m sure of that because the model of the phone corresponds to my phone and the line where the crash occurred didn’t exist at all in the last release.
I would like to know if there is a way to avoid such problem. When doing developments in Android Studio, shall I change something to be sure that any crash that I generate during my tests will not be sent to Google Play ANRs & crashes report?
I would like reports to be sent only for signed releases.
Thanks for your help
I am converting my existing application to Android Instant App. I have successfully done that. My app is running in Instant App form. The issue that I am facing now is regarding Firebase-Analytics. When I run instant app I get this error
E/FirebaseInstanceId: Failed to resolve target intent service, skipping classname enforcement
E/FirebaseInstanceId: Error while delivering the message: ServiceIntent not found.
When i try to get FirebaseAnalytics instance using FirebaseAnalytics.getInstance(this); the instant app crashes. I am not able to get any sort of logs on Logcat. My "Installed" app is working perfectly fine. Also if someone can guide me on how to debug Instant Apps, I am not able to debug them or even get logs on Logcat.
Edit
Link to Bug Report
Google Play services for Instant Apps 2.7-release-179555567
With Reference to Google issue tracker
Your Google Play services for Instant Apps version is 1.22...
If you update to the latest, it should be fixed with: 2.7+
Uninstall Google Play services for Instant Apps
Go back to Settings > Google > Instant Apps
It will ask you to restore it > RESTORE
Now try running your instant app again.
If you are experiencing this while trying to build your instant app from Android Studio, you may have to repeat steps 1-4 one more time. On first provisioning, it may install your device with the incorrect version (1.22...), but afterwards, it should be the correct version.
That solved my problem but will users always have the latest Google Play services for Instant Apps (i.e. 2.7+)? As I didn't side load Google Play services for Instant Apps or was it installed by Android Studio?
Ans:-
Yes, users on pre-O should be periodically pushed the latest Google Play services for Instant Apps. Plus, they can always perform steps 1-3 to make sure they get the latest.
On O+, they shouldn't have to do anything either, since Instant Apps support is built directly into the framework from here on out.
Working with the OEMs, Google Play services for Instant Apps have been pushed to all devices which have been deemed compatible for Instant Apps. The other case is where Android Studio installs it when you try to build your instant app to a whitelisted device.