[com.mojang.minecraftpe] <Minecraft can't perform a licence check>
Affected app Name: [Minecraft] Package id: [com.mojang.minecraftpe]
Describe the bug A clear and concise description of what the bug is. Minecraft cannot perform a licence check without Play Store to be installed (maybe this should be a feature request to implement a licence check mechanism)
To Reproduce
Installing the Minecraft APK from Aurora Store
Expected behaviour A clear and concise description of what you expected to happen. The app should let you create a new world
Screenshots If applicable, add screenshots to help explain your problem.
System Android Version: [e.g. 10] Custom ROM: [e.g. Lineage OS 17.1] Android 10 Lineage OS 17.1 MicroG edition https://download.lineage.microg.org/a5xelte/lineage-17.1-20210125-microG-a5xelte.zip (this is the latest microG version I think)
MicroG microG Core version: [e.g. 0.2.13.203915] microG Self-Check results: [e.g. All ticked] All ticked
Additional context Add any other context about the problem here.
I'm experiencing this as well
#562
Would be great if there is a possible way to implement this without pirating anything.
Would be great, but this is a (very) long ways away, and also not something that can be fixed in GmsCore. This would need to be implemented in microG Phonesky, but who knows when development on that will resume.
I know this isn't what you want to hear, but for the time being, if you need apps that have to perform a license check, the only real option is to replace FakeStore with the real Play Store so it can do the license check (or of course, pirate workarounds, at your own discretion.)
Depending on the app it might also be possible to remove Play Store after doing the license check and re-replace it with FakeStore, and as long as you don't clear the app's data it'll just continue to work. Some paid apps need to continually check the license through Play Store to remain functional, so this workaround wouldn't work for them and you'd need to keep the official Play Store around.
There are also some (mostly free) apps that ask to check for a license, in theory many of these could be fixed by giving FakeStore a CHECK_LICENSE permission as described in https://github.com/microg/FakeStore/pull/16, but for some reason this isn't being done. Note that this most likely wouldn't help for actual paid apps like Minecraft PE.
This appears to still be an issue despite MicroG supporting license checks.
@Henry-Hiles We would need a logcat recorded during the license check to see what is happening.
@Henry-Hiles We would need a logcat recorded during the license check to see what is happening.
Sure! 13_10-09-40-10_363.log
@Henry-Hiles Thanks. From your logcat, I am gathering:
-
V FakeLicenseService: checkLicense(1300137076, com.mojang.minecraftpe)→ microG companion is asked for a license check -
D GmsAuthenticator: getAuthToken: Account {name=[…], type=com.google}, oauth2:https://www.googleapis.com/auth/googleplay, Bundle[{androidPackageName=com.android.vending, callerPid=20264, callerUid=10313}]→ for checking the license, microG companion asks for a token with correct scope as per: https://github.com/microg/GmsCore/blob/511afe821b20a5545f2ecc3f8db92a3ecb24d87f/vending-app/src/main/java/com/android/vending/licensing/LicenseChecker.kt#L110-L112 -
D GmsAuthManager: token present, but expired→ microG needs to ask server for a token -
W GmsAuthenticator: java.io.IOException: Error=BadAuthentication→ the server refuses the request. Are you sure that the Google account added to your system is currently functional and able to access account data in other apps? You can see e.g. if Google Calendar would let you sync your account's calendar data. In case of doubt, remove and re-add the account from the system settings. - FYI: We are running into the log message
Billing is disabledfrom: https://github.com/microg/GmsCore/blob/511afe821b20a5545f2ecc3f8db92a3ecb24d87f/vending-app/src/main/java/org/microg/vending/billing/InAppBillingServiceImpl.kt#L189-L190 This would indicate that you haven't enabled in-app purchases. It might also help to enable them in case the app refuses to run on systems without in-app purchases.
@Henry-Hiles Thanks. From your logcat, I am gathering:
* `V FakeLicenseService: checkLicense(1300137076, com.mojang.minecraftpe)` → microG companion is asked for a license check * `D GmsAuthenticator: getAuthToken: Account {name=[…], type=com.google}, oauth2:https://www.googleapis.com/auth/googleplay, Bundle[{androidPackageName=com.android.vending, callerPid=20264, callerUid=10313}]` → for checking the license, microG companion asks for a token with correct scope as per: https://github.com/microg/GmsCore/blob/511afe821b20a5545f2ecc3f8db92a3ecb24d87f/vending-app/src/main/java/com/android/vending/licensing/LicenseChecker.kt#L110-L112 * `D GmsAuthManager: token present, but expired` → microG needs to ask server for a token * `W GmsAuthenticator: java.io.IOException: Error=BadAuthentication` → the server refuses the request. Are you sure that the Google account added to your system is currently functional and able to access account data in other apps? You can see e.g. if Google Calendar would let you sync your account's calendar data. In case of doubt, remove and re-add the account from the system settings. * FYI: We are running into the log message `Billing is disabled` from: https://github.com/microg/GmsCore/blob/511afe821b20a5545f2ecc3f8db92a3ecb24d87f/vending-app/src/main/java/org/microg/vending/billing/InAppBillingServiceImpl.kt#L189-L190 This would indicate that you haven't enabled in-app purchases. It might also help to enable them in case the app refuses to run on systems without in-app purchases.
For the billing is disabled, I tried it with and without, no difference. I don't have any google apps, is there anywhere else I can test? The correct account is in MicroG settings.
One other thing, my google account is not accociated with any gmail account, if that affects anything. (I used https://accounts.google.com/signupwithoutgmail)
@Henry-Hiles
I don't have any google apps, is there anywhere else I can test?
The simplest way is to try opening the "Sign in & security" settings from the Google account in the settings app.
@Henry-Hiles
I don't have any google apps, is there anywhere else I can test?
The simplest way is to try opening the "Sign in & security" settings from the Google account in the settings app.
That opens up the microG app.
@Henry-Hiles Which part specifically – its main screen? If that's the case that doesn't sound correct and you should re-add the account.
If it shows a Google Account management website with many options like "Recent security activity" and "How you sign in to Google", that's the expected result, but also leaves me inconclusive. We can try some more tests to see if we can narrow it down a bit but ultimately I don't know the cause at this point.
@Henry-Hiles Note: In case you add an account to the phone and then change the password on the pc then on the phone it will remain not functional forever. Google Play Services ask for the updated password but microG currently doesn't do it and remain broken forever.
@Henry-Hiles Which part specifically – its main screen? If that's the case that doesn't sound correct and you should re-add the account.
If it shows a Google Account management website with many options like "Recent security activity" and "How you sign in to Google", that's the expected result, but also leaves me inconclusive. We can try some more tests to see if we can narrow it down a bit but ultimately I don't know the cause at this point.
Wait its doing this now:
https://github.com/user-attachments/assets/47a3417e-6b02-47f5-a2e9-4b6f2778cace
@Henry-Hiles Note: In case you add an account to the phone and then change the password on the pc then on the phone it will remain not functional forever. Google Play Services ask for the updated password but microG current doesn't do it and remain broken forever.
No, I haven't changed my password
Huh, i logged out and back in, and suddenly it works! I think this issue can be closed, thanks!
I think its because I changed my 2fa settings and didnt sign back in.
@Henry-Hiles That's what I would expect to see if the account is no longer working, great that you could solve it 👍 (though the UI is admittedly sub-ideal).
Google Play Services ask for the updated password but microG current doesn't do it and remain broken forever.
@ale5000-git FYI we can add support for this based on the authentication error handling & resolution functionality in the Google Workspace account PR #2296.
@ale5000-git FYI we can add support for this based on the authentication error handling & resolution functionality in the Google Workspace account PR #2296.
This is very good but unfortunately until the code is merged, the new version of microG is released and all ROMs will adopt the update of microG it will pass a lot of time (from the point of view of the user). So we will probably get a lot of reports like this.
@fynngodau Is the merged code able to fix the account just by asking the password (without remove the existing one) like GPS or it require to remove and re-add the account again?
I tried enabling "Handle billing requests" in the Play Store services menu, and it fixed this. I'm running the current preview release (v0.3.3.240913). I think older releases that support billing requests will probably work (current preview release has a regression). Not sure why "Answer license verification requests" is not sufficient (it should be).
If you don't like the risk of having that option enabled all the time, it appears to work after disabling the option after you've launched it once and let it load with the option enabled.
I'm not sure but I think it depends from the app if they check it only the first time or every now and then.