Closed acsway878787 closed 8 months ago
I can't test IAP so I can't support it. If it doesn't work and you find any issues in the log, you can report them here and I might try to handle them.
@acsway878787: The best way to get the problem fixed is to post a logcat when the problem happens.
Logcat between when trying to buy something. I can't get it to work with any custom ROM, though it works fine on Samsung TouchWiz. TouchWiz ROMs are granting much more permissions to system apps by default (alteast for MM, haven't tested Nougat). Though, for this test I used my lux (Moto X Play) with Ressurection Remix. Framework patched using Haystack and latest microG (0.24-79) with DroidGuard, GsfProxy, PlayStore (7.6.08.N).
03-21 18:09:26.403 2380 3653 W ActivityManager: Unable to start service Intent { act=android.support.customtabs.action.CustomTabsService pkg=com.android.chrome } U=0: not found
03-21 18:09:26.447 6554 6554 D AndroidRuntime: Shutting down VM
03-21 18:09:26.453 6554 6554 E AndroidRuntime: FATAL EXCEPTION: main
03-21 18:09:26.453 6554 6554 E AndroidRuntime: Process: com.android.vending, PID: 6554
03-21 18:09:26.453 6554 6554 E AndroidRuntime: java.lang.SecurityException: uid 10124 cannot get user data for accounts of type: com.google
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1684)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1637)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at android.accounts.IAccountManager$Stub$Proxy.getUserData(IAccountManager.java:887)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at android.accounts.AccountManager.getUserData(AccountManager.java:402)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at com.google.android.finsky.billing.auth.o.a(SourceFile:107)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at com.google.android.finsky.billing.auth.a.a(SourceFile:143)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at com.google.android.finsky.billing.lightpurchase.al.a(SourceFile:6940)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at com.google.android.finsky.billing.common.g.v(SourceFile:265)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at com.google.android.finsky.billing.common.g.a(SourceFile:260)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at com.google.android.finsky.billing.lightpurchase.l.a(SourceFile:34708)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at com.google.android.finsky.billing.lightpurchase.al.U(SourceFile:945)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at com.google.android.finsky.billing.lightpurchase.al.T(SourceFile:884)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at com.google.android.finsky.billing.lightpurchase.al.S(SourceFile:868)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at com.google.android.finsky.billing.lightpurchase.al.A(SourceFile:20108)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at com.google.android.finsky.billing.lightpurchase.e.j.x(SourceFile:20128)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at com.google.android.finsky.billing.lightpurchase.d.c.onClick(SourceFile:200)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at android.view.View.performClick(View.java:5637)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at android.view.View$PerformClick.run(View.java:22433)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:751)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6176)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
03-21 18:09:26.453 6554 6554 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778)
03-21 18:09:26.456 2380 4406 W ActivityManager: Force finishing activity com.android.vending/com.google.android.finsky.billing.lightpurchase.PurchaseActivity
03-21 18:09:26.473 2380 4406 W ActivityManager: Force finishing activity com.android.vending/com.google.android.finsky.billing.lightpurchase.LightPurchaseFlowActivity
03-21 18:09:26.523 2380 4406 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:877 com.android.server.am.AppErrors.crashApplicationInner:375 com.android.server.am.AppErrors.crashApplication:309 com.android.server.am.ActivityManagerService.handleApplicationCrashInner:13686 com.android.server.am.ActivityManagerService.handleApplicationCrash:13668
03-21 18:09:26.527 2380 4406 E ActivityManager: Sending non-protected broadcast projekt.substratum.APP_CRASHED from system 2380:system/1000 pkg android
03-21 18:09:26.527 2380 4406 E ActivityManager: java.lang.Throwable
03-21 18:09:26.527 2380 4406 E ActivityManager: at com.android.server.am.ActivityManagerService.checkBroadcastFromSystem(ActivityManagerService.java:18106)
03-21 18:09:26.527 2380 4406 E ActivityManager: at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:18695)
03-21 18:09:26.527 2380 4406 E ActivityManager: at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:18786)
03-21 18:09:26.527 2380 4406 E ActivityManager: at android.app.ContextImpl.sendBroadcast(ContextImpl.java:881)
03-21 18:09:26.527 2380 4406 E ActivityManager: at com.android.server.am.AppErrors.crashApplicationInner(AppErrors.java:375)
03-21 18:09:26.527 2380 4406 E ActivityManager: at com.android.server.am.AppErrors.crashApplication(AppErrors.java:309)
03-21 18:09:26.527 2380 4406 E ActivityManager: at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:13686)
03-21 18:09:26.527 2380 4406 E ActivityManager: at com.android.server.am.ActivityManagerService.handleApplicationCrash(ActivityManagerService.java:13668)
03-21 18:09:26.527 2380 4406 E ActivityManager: at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:1660)
03-21 18:09:26.527 2380 4406 E ActivityManager: at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2980)
03-21 18:09:26.527 2380 4406 E ActivityManager: at android.os.Binder.execTransact(Binder.java:565)
03-21 18:09:26.573 2380 2503 W BroadcastQueue: Permission Denial: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to de.amazon.mShop.android/com.amazon.mcc.crashreporter.android.CrashReportBroadcastReceiver requires android.permission.READ_LOGS due to sender android (uid 1000)
03-21 18:09:26.574 2380 2503 W BroadcastQueue: Permission Denial: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to de.amazon.mShop.android/com.amazon.mcc.crashreporter.android.CrashReportBroadcastReceiver requires android.permission.READ_LOGS due to sender android (uid 1000)
03-21 18:09:26.658 2380 6364 I OpenGLRenderer: Initialized EGL, version 1.4
03-21 18:09:26.658 2380 6364 D OpenGLRenderer: Swap behavior 1
03-21 18:09:26.974 2380 2503 W ActivityManager: Activity pause timeout for ActivityRecord{7376ff9 u0 com.android.vending/com.google.android.finsky.billing.lightpurchase.PurchaseActivity t4 f}
03-21 18:09:28.132 2380 4406 W ActivityManager: Force finishing activity com.android.vending/com.google.android.finsky.billing.lightpurchase.PurchaseActivity
03-21 18:09:28.149 2380 4406 W ActivityManager: Force finishing activity com.android.vending/com.google.android.finsky.billing.lightpurchase.LightPurchaseFlowActivity
03-21 18:09:28.153 1566 1566 W SurfaceFlinger: couldn't log to binary event log: overflow.
03-21 18:09:28.171 2380 4406 W ActivityManager: Force finishing activity com.android.vending/com.google.android.finsky.activities.MainActivity
03-21 18:09:28.247 2380 4406 E ActivityManager: Found activity ActivityRecord{c8ed575 u0 com.android.vending/com.google.android.finsky.activities.MainActivity t4 f} in proc activity list using null instead of expected ProcessRecord{e8453f1 6554:com.android.vending/u0a124}
03-21 18:09:28.293 2380 4406 I ActivityManager: Killing 6554:com.android.vending/u0a124 (adj 100): crash
03-21 18:09:28.301 2380 4406 D ActivityManager: cleanUpApplicationRecord -- 6554
03-21 18:09:28.307 2380 2504 W art : Long monitor contention with owner Binder:2380_8 (4406) at void com.android.server.am.AppErrors.crashApplicationInner(com.android.server.am.ProcessRecord, android.app.ApplicationErrorReport$CrashInfo, int, int)(AppErrors.java:385) waiters=0 in void com.android.server.am.ActivityManagerService.unregisterReceiver(android.content.IIntentReceiver) for 112ms
03-21 18:09:28.308 2380 2504 W InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed.
03-21 18:09:28.373 2380 4408 W ActivityManager: Unable to start service Intent { act=com.google.android.gms.measurement.START pkg=com.google.android.gms } U=0: not found
03-21 18:09:28.375 2380 4406 W ActivityManager: Unbind failed: could not find connection for android.os.BinderProxy@5db1cb0
I'm having problems with inapp purchases as well. As soon as I press "buy" to confirm the purchase, it tells me Google Play store has stopped.
Same issue, Google Play store has stopped. I can't make any in app purchases in Pokémon GO. No I'm not cheating, this is the standard apk from the Play store. I'll try to take a log later.
@mar-v-in did you have a chance to have a look at my logcat yet?
@mar-v-in Here's a logcat, taken from boot all the way till I attempt a purchase in Pokemon GO and I see "Google Play Store has stopped" message. Pokemon_GO-In_App_Purchase-microG-logcat.txt
I'd like to see this resolved so I added $5 to Bountysource
The problem is that Play Store tries to call a method that it is only allowed to call if Play Services and Play Store are signed with the same key. As this is not the case when using microG with original Play Store, it crashes.
There are three solutions to this problem, one uglier than the other:
This problem was not present in older Play Stores afair so you might as well be able to just downgrade it.
@mar-v-in Which version do I try? If I try the one suggested in the "Flashable Zip by @ale5000-git", Google Play Store 5.1.11, some apps get blacklisted from downloading. I'm guessing because Google thinks my device is running too old of a Operating System due to a out of date Google Play Store.
@ShapeShifter499 I can't help you there, I never used original Play Store.
@mar-v-in "Sign Play Store and microG with the same key" Does there need to be any changes to the current code? Or should this work right now if I attempted it? Any caveats to this?
You won't be able to update microG through F-Droid or Play Store anymore and you need to add signature spoofing the Play Store (similar to how it is done in microG), which requires some modification of Play Store's AndroidManifest.xml
That's to much work every time I want to update microG, or when there is a Google Play Store update, or even when I want to update my ROM.
"Modify the operating system to allow Play Store to do this method call" -- This seems like the best way, maybe it can be added to the set of patches already in use. But I'm just pulling things out of thin air at this point, I don't have much knowledge past this point.
@ShapeShifter499 this modification would be about reducing android's security by punching a hole in it's security system. I will not write or support such a patch. The best solution IMHO would be a Xposed module, but I won't be the one to create it.
@mar-v-in thanks for that solution! I re-signed microG GmsCore and Play Store with the same (debug) signature and modified Play Store Manifest for correct fake signature: et voila. It's working.
I test-bought that 0,10 € Piano app Google is currently offering.
The only thing I notices so far is that my only installed paid app on my Moto X Play (Flux Substratum Theme) needed to be re-installed to verify the purchase process. Haven't tested on my Tablet yet, where I have a few paid games installed. Maybe all paid apps need a re-installation if not coming from a clean flash, but that's only a one-timer.
If someone wants to give it a try:
Install at your own risk, Play Store TOS violation, bla, bla.
[The strange thing is: on TouchWiz ROMs (atlest Marshmallow, haven't tested Nougat) Samsung has made so many changes to the framework files that in-app-purchases work just perfect with only patching framework files using tingle/haystack. Also Maps is auto-granted permission to accounts, unlike on other ROMs where you manually have to allow it, else it won't find the account.]
I added 10 $ to the bounty for native solution, btw.
Nanolx, do i just have to install the two apks you linked for it to work properly or do I need to do something else? If I need to do womething else, then could you tell me the steps?
@Ningyoplug install them the same way you did with the original ones, so usually both in /system/priv-app/
@Nanolx trying to install your gmscore but it tells me "the package appears to be corrupt"
@Ningyoplug move it manually into /system/priv-app/ replacing the original file and reboot. The solution with the debug-signed apks is a bit tricky.
@Nanolx I don't even have a Phonesky folder in priv-app.... and Play Store keeps giving me "server error" and idk how to fix it.
@Ningyoplug Dunno, you can either try my whole project, checkout http://www.github.com/Nanolx/NanoMod, be sure to read all of README. I uploaded a snapshot zip: https://www.androidfilehost.com/?fid=745425885120721657 In case you wanna try, be sure to move any further discussion to the NanoMod repository (as it's not related to microG).
Or wait for someone to add native (in-)app-purchase support to microG.
@Nanolx I tried your package, same issue.
I even tried uninstalling and reinstalling problem apps
Clear PlayStore data. Might give that a try, else please a logcar in the other git repo.
I created a new snapshot of my Magisk Module. Many internal changes, especially now possible for example to only populate microG (see part "Alter Installation" in the README).
Edit: beta 3 with installer changes.
@Nanolx I left a logcat on a new issue over on your repo for NanoMod
can I re-sign the play store and microG apk with same key, then install, can it solve this issue?
@WanderMax nope, you need to modify PlayStore for signature spoofing, too.
I made this here: http://github.com/Nanolx/NanoMod
You can find the apks in Overlay/system/priv-app
@Nanolx From your previous post, I think that modify PlayStore (manifest modification), then re-sign the play store and microG apk with same key before installation can solve it, is it right? For manifest modification, I need more details of how to modify. Thanks.
@WanderMax I'll post more detailed instructions today evening, when I'm home.
@Nanolx I checked your http://github.com/Nanolx/NanoMod. It seems that no need to install UnifiedNlp again, as core embedded. And in the https://github.com/microg/android_packages_apps_GmsCore/wiki/Installation, only need to install GMScore and GsfProxy. Thanks.
<uses-permission android:name="android.permission.FAKE_PACKAGE_SIGNATURE"/>
to AndroidManifest.xml<meta-data android:name="fake-signature" android:value="@string/fake_signature"/>
to AndroidManifest.xml<public type="string" name="fake_signature" id="0x7f13????" />
(replace ???? with a number which is one higher than the last type="string"
entry) to res/values/public.xml
<string name="fake_signature">308204433082032ba003020102020900c2e08746644a308d300d06092a864886f70d01010405003074310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e205669657731143012060355040a130b476f6f676c6520496e632e3110300e060355040b1307416e64726f69643110300e06035504031307416e64726f6964301e170d3038303832313233313333345a170d3336303130373233313333345a3074310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e205669657731143012060355040a130b476f6f676c6520496e632e3110300e060355040b1307416e64726f69643110300e06035504031307416e64726f696430820120300d06092a864886f70d01010105000382010d00308201080282010100ab562e00d83ba208ae0a966f124e29da11f2ab56d08f58e2cca91303e9b754d372f640a71b1dcb130967624e4656a7776a92193db2e5bfb724a91e77188b0e6a47a43b33d9609b77183145ccdf7b2e586674c9e1565b1f4c6a5955bff251a63dabf9c55c27222252e875e4f8154a645f897168c0b1bfc612eabf785769bb34aa7984dc7e2ea2764cae8307d8c17154d7ee5f64a51a44a602c249054157dc02cd5f5c0e55fbef8519fbe327f0b1511692c5a06f19d18385f5c4dbc2d6b93f68cc2979c70e18ab93866b3bd5db8999552a0e3b4c99df58fb918bedc182ba35e003c1b4b10dd244a8ee24fffd333872ab5221985edab0fc0d0b145b6aa192858e79020103a381d93081d6301d0603551d0e04160414c77d8cc2211756259a7fd382df6be398e4d786a53081a60603551d2304819e30819b8014c77d8cc2211756259a7fd382df6be398e4d786a5a178a4763074310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e205669657731143012060355040a130b476f6f676c6520496e632e3110300e060355040b1307416e64726f69643110300e06035504031307416e64726f6964820900c2e08746644a308d300c0603551d13040530030101ff300d06092a864886f70d010104050003820101006dd252ceef85302c360aaace939bcff2cca904bb5d7a1661f8ae46b2994204d0ff4a68c7ed1a531ec4595a623ce60763b167297a7ae35712c407f208f0cb109429124d7b106219c084ca3eb3f9ad5fb871ef92269a8be28bf16d44c8d9a08e6cb2f005bb3fe2cb96447e868e731076ad45b33f6009ea19c161e62641aa99271dfd5228c5c587875ddb7f452758d661f6cc0cccb7352e424cc4365c523532f7325137593c4ae341f4db41edda0d0b1071a7c440f0fe9ea01cb627ca674369d084bd2fd911ff06cdbf2cfa10dc0f893ae35762919048c7efc64c7144178342f70581c9de573af55b390dd7fdb9418631895d5f759f30112687ff621410c069308a</string>
before </resources>
to res/values/strings.xml
Here's a patch that does that (PlayStore 7.7.31.N)
diff -Nupr PlayStore-Original/AndroidManifest.xml PlayStore/AndroidManifest.xml
--- PlayStore-Original/AndroidManifest.xml 2017-05-02 18:28:32.175329552 +0200
+++ PlayStore/AndroidManifest.xml 2017-05-02 18:30:24.902729637 +0200
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:finsky="http://schemas.android.com/apk/res-auto" package="com.android.vending" platformBuildVersionCode="25" platformBuildVersionName="7.1.1">
+ <uses-permission android:name="android.permission.FAKE_PACKAGE_SIGNATURE"/>
<uses-permission android:name="com.android.vending.permission.C2D_MESSAGE"/>
<uses-permission android:name="com.android.vending.billing.IN_APP_NOTIFY.permission.C2D_MESSAGE"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
@@ -84,6 +85,7 @@
<permission android:name="com.google.android.finsky.permission.GEARHEAD_SERVICE" android:protectionLevel="signatureOrSystem"/>
<permission android:name="com.google.android.vending.verifier.ACCESS_VERIFIER" android:protectionLevel="signature"/>
<application android:backupAgent="com.android.vending.VendingBackupAgent" android:debuggable="@bool/is_debuggable" android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher_play_store" android:killAfterRestore="false" android:label="@string/app_long_name" android:name="com.google.android.finsky.application.FinskyAppImpl" android:requiredForAllUsers="true" android:restoreAnyVersion="true" android:restoreNeedsApplication="true" android:restrictedAccountType="com.google" android:roundIcon="@mipmap/ic_round_launcher_play_store" android:supportsRtl="@bool/is_rtl_enabled">
+ <meta-data android:name="fake-signature" android:value="@string/fake_signature"/>
<activity android:exported="false" android:launchMode="singleInstance" android:name="com.google.android.wallet.instrumentmanager.redirect.ImStartAndroidAppRedirectActivity" android:theme="@style/Theme.UiComponents.Translucent.NoActionBar"/>
<activity android:exported="true" android:name="com.google.android.wallet.instrumentmanager.redirect.ImFinishAndroidAppRedirectActivity">
<intent-filter>
diff -Nupr PlayStore-Original/res/values/public.xml PlayStore/res/values/public.xml
--- PlayStore-Original/res/values/public.xml 2017-05-02 18:28:35.258229883 +0200
+++ PlayStore/res/values/public.xml 2017-05-02 18:31:18.219055703 +0200
@@ -8355,6 +8355,7 @@
<public type="string" name="yes" id="0x7f1306c6" />
<public type="string" name="yes_im_in" id="0x7f1306c7" />
<public type="string" name="your_review_label" id="0x7f1306c8" />
+ <public type="string" name="fake_signature" id="0x7f1306c9" />
<public type="style" name="AccountDfeListDetails" id="0x7f140000" />
<public type="style" name="AccountDfeListPrice" id="0x7f140001" />
<public type="style" name="AccountDfeListStatus" id="0x7f140002" />
diff -Nupr PlayStore-Original/res/values/strings.xml PlayStore/res/values/strings.xml
--- PlayStore-Original/res/values/strings.xml 2017-05-02 18:28:34.661249178 +0200
+++ PlayStore/res/values/strings.xml 2017-05-02 18:31:30.612668935 +0200
@@ -1755,4 +1755,5 @@ First turn on NFC in your settings, then
<string name="yes">Yes</string>
<string name="yes_im_in">"Yes, I'm In"</string>
<string name="your_review_label">you</string>
+ <string name="fake_signature">308204433082032ba003020102020900c2e08746644a308d300d06092a864886f70d01010405003074310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e205669657731143012060355040a130b476f6f676c6520496e632e3110300e060355040b1307416e64726f69643110300e06035504031307416e64726f6964301e170d3038303832313233313333345a170d3336303130373233313333345a3074310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e205669657731143012060355040a130b476f6f676c6520496e632e3110300e060355040b1307416e64726f69643110300e06035504031307416e64726f696430820120300d06092a864886f70d01010105000382010d00308201080282010100ab562e00d83ba208ae0a966f124e29da11f2ab56d08f58e2cca91303e9b754d372f640a71b1dcb130967624e4656a7776a92193db2e5bfb724a91e77188b0e6a47a43b33d9609b77183145ccdf7b2e586674c9e1565b1f4c6a5955bff251a63dabf9c55c27222252e875e4f8154a645f897168c0b1bfc612eabf785769bb34aa7984dc7e2ea2764cae8307d8c17154d7ee5f64a51a44a602c249054157dc02cd5f5c0e55fbef8519fbe327f0b1511692c5a06f19d18385f5c4dbc2d6b93f68cc2979c70e18ab93866b3bd5db8999552a0e3b4c99df58fb918bedc182ba35e003c1b4b10dd244a8ee24fffd333872ab5221985edab0fc0d0b145b6aa192858e79020103a381d93081d6301d0603551d0e04160414c77d8cc2211756259a7fd382df6be398e4d786a53081a60603551d2304819e30819b8014c77d8cc2211756259a7fd382df6be398e4d786a5a178a4763074310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e205669657731143012060355040a130b476f6f676c6520496e632e3110300e060355040b1307416e64726f69643110300e06035504031307416e64726f6964820900c2e08746644a308d300c0603551d13040530030101ff300d06092a864886f70d010104050003820101006dd252ceef85302c360aaace939bcff2cca904bb5d7a1661f8ae46b2994204d0ff4a68c7ed1a531ec4595a623ce60763b167297a7ae35712c407f208f0cb109429124d7b106219c084ca3eb3f9ad5fb871ef92269a8be28bf16d44c8d9a08e6cb2f005bb3fe2cb96447e868e731076ad45b33f6009ea19c161e62641aa99271dfd5228c5c587875ddb7f452758d661f6cc0cccb7352e424cc4365c523532f7325137593c4ae341f4db41edda0d0b1071a7c440f0fe9ea01cb627ca674369d084bd2fd911ff06cdbf2cfa10dc0f893ae35762919048c7efc64c7144178342f70581c9de573af55b390dd7fdb9418631895d5f759f30112687ff621410c069308a</string>
</resources>
It's the original signature, else it won't work.
you mean the original of play store? I will check that.
@Nanolx for installation, I find that in priv-app folder, there exists one folder named GmsCore which contains GmsCore.apk and lib folder. In the wiki page about GMS removal, I don't know how to do with this. Should I remove the GmsCore folder, or just GmsCore.apk? Thanks.
See here.
I install all, should I convert play/ gmscore/gsf to system apps?
yes, it runs after move to priv-app folder. how about network based location? is it needed?
@WanderMax Google Play Store: yes; GmsCore: yes, on Android 7+, optional on older versions; Gsf: Doesn't matter.
however location status does not fully pass check. anyway to solve it? System supports location provider failed network based location enable failed
Which version of GmsCore are you using? For me on Nougat 7.1.1, tried v92 but no location so reverted back to v81.
OK 92. I will try 81.Thanks. @ale5000-git does location needed? I find some map tools can get location info without the Nlp check passed. how to block play store self update? change version number? or adb shell pm disable com.android.vending/com.google.android.finsky.autoupdate.ReschedulerUsingJobScheduler\$CheckPreconditionsAndAutoUpdateJobService adb shell pm disable com.android.vending/com.google.android.finsky.autoupdate.ReschedulerUsingAlarmManager\$CheckWifiAndAutoUpdate adb shell pm disable com.android.vending/com.google.android.finsky.autoupdate.ReschedulerUsingBroadcast\$AutoUpdateRecheckForBroadcast ?
@ale5000-git how to disable play store auto update?
It would be really nice if 'more google api's' would be supported. Plenty of my paid Apps dont work :*(
I am having big trouble with Yatse. A kodi remote. Currently the best way to get it running is the Google Play store license API.
Any plans or ideas for 2019?
Licenses and their validation are part of what you do as part of a purchase contract with Google, thus validation only works with Play Store and this won't change. Basically any license validation outside from verified Google data could be misused and is in most countries illegal anyway.
Some apps like Titanium or Tasker allow for license verification without Play Store, but that's only a minority of apps and each does it in a different way.
In your particular case I don't know about Yatse, but as an alternative Kore is available on F-Droid.
So, since I provide a Play Store that works for (in-)app-purchases with microG since over a year now, I guess I can claim those 15$? For those curious:
And this issue can be closed as "fixed externally"?
my 2 cents: sounds legit. . .
How you have updated the Apps? @nanolx I can't use inapp Billing.
I installed Google Play store and microG service core. I found that In-app purchase sometimes worked and sometimes not. So is In-app purchase official support?