microg / GmsCore

Free implementation of Play Services
https://microg.org
Apache License 2.0
7.75k stars 1.63k forks source link

SBB app: Update Android Security Provider not available #854

Closed tobru closed 5 years ago

tobru commented 5 years ago

I've installed LineageOS for microG on a LeEco x822 (Codename x2) device which worked fine. Checking "microG Settings -> Self-Check" revealse a tick on every single possible line.

After installing the SBB app I wanted to login to SBB store, but this fails because the app doesn't seem to recognize the Play Services.

Running adb logcat reveals the following log output:

--------- beginning of main
06-30 13:18:42.660  3624  3624 V v       : ADVERTISEMENT paused.
06-30 13:18:47.583  3624  3624 I W       : Event TOUCH: Login - Navigationsmenu -  - 
06-30 13:18:47.583  3624  3624 I W       : Referrer: Navigationsmenu
06-30 13:18:47.583  3624  3624 D W       : ATIT Parameter: Navigationsmenu::::::Login
06-30 13:18:47.598  3624  3624 I ch.sbb.spc.E: add request requestType: LOGIN
06-30 13:18:47.600  3624  5630 I ch.sbb.spc.E: process request requestId: 4da9926e requestType:LOGIN
06-30 13:18:47.600  3624  5630 I ch.sbb.spc.E: login
06-30 13:18:47.603  3624  5630 W DynamiteModule: Local module descriptor class for providerinstaller not found.
06-30 13:18:47.603  3624  5630 W DynamiteModule: IDynamite loader version < 2, falling back to getModuleVersion2
06-30 13:18:47.603  3624  5630 D GmsDynamiteLoaderImpl: unimplemented Method: getModuleVersion for providerinstaller
06-30 13:18:47.603  3624  5630 I DynamiteModule: Considering local module providerinstaller:0 and remote module providerinstaller:0
06-30 13:18:47.603  3624  5630 W ProviderInstaller: Failed to load providerinstaller module: No acceptable module found. Local version is 0 and remote version is 0.
06-30 13:18:47.604  3624  5630 D GmsProviderInstaller: Provider installer invoked for ch.sbb.mobile.android.preview
06-30 13:18:47.604  3624  5630 E ProviderInstaller: Failed to install provider: dlopen failed: "/system/priv-app/GmsCore/GmsCore.apk!/lib/arm64-v8a/libconscrypt_jni.so" is 64-bit instead of 32-bit
06-30 13:18:47.604  3624  5630 E ch.sbb.spc.k: Update Android Security Provider not available: null
--------- beginning of system
06-30 13:18:47.605  1068  2197 I ActivityManager: START u0 {act=GOOGLE_PLAY_SERVICE_INSTALL_ACTION flg=0x10000000 cmp=ch.sbb.mobile.android.preview/ch.sbb.spc.CustomTabActivity (has extras)} from uid 10110
06-30 13:18:47.608   566   613 E ANDR-PERF-RESOURCEQS: Failed to apply optimization [2, 1]
06-30 13:18:47.608   566   613 E ANDR-PERF-RESOURCEQS: Failed to apply optimization [2, 1]
06-30 13:18:47.614   587   640 D SurfaceFlinger: duplicate layer name: changing ch.sbb.mobile.android.preview/ch.sbb.mobile.android.vnext.splashscreen.SplashScreenActivity to ch.sbb.mobile.android.preview/ch.sbb.mobile.android.vnext.splashscreen.SplashScreenActivity#1
06-30 13:18:47.631  3624  3624 V v       : QUICK_ACCESS paused.
06-30 13:18:47.631  3624  3624 V i       : TRIPS_AND_TICKETS paused.
06-30 13:18:47.631  3624  3624 V v       : BEST_GUESS_TICKETS paused.
06-30 13:18:47.631  3624  3624 V i       : DEPARTURE_TABLE paused.
06-30 13:18:47.632  1068  1767 W ActivityManager: Unbind failed: could not find connection for android.os.BinderProxy@3fcd89a
06-30 13:18:47.644  3624  3624 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@5c77097
06-30 13:18:47.645  2672  2672 D GmsMeasureBrokerSvc: onBind: Intent { act=com.google.android.gms.measurement.START pkg=com.google.android.gms }
06-30 13:18:47.651  3624  3624 I ch.sbb.spc.CustomTabActivity: Custom tab action intent received
06-30 13:18:47.654  3624  3624 I ch.sbb.spc.CustomTabActivity: show customtab alert
06-30 13:18:47.675  3624  3624 I ch.sbb.spc.CustomTabActivity: Custom tab activity resume, is cancelling false
06-30 13:18:47.700   587  1083 D SurfaceFlinger: duplicate layer name: changing ch.sbb.mobile.android.preview/ch.sbb.spc.CustomTabActivity to ch.sbb.mobile.android.preview/ch.sbb.spc.CustomTabActivity#1
06-30 13:18:47.716  2672  3995 D SafeParcel: Unknown field num 10 in com.google.android.gms.common.internal.GetServiceRequest, skipping.
06-30 13:18:47.717  2672  3995 D SafeParcel: Unknown field num 11 in com.google.android.gms.common.internal.GetServiceRequest, skipping.
06-30 13:18:47.717  2672  3995 D SafeParcel: Unknown field num 12 in com.google.android.gms.common.internal.GetServiceRequest, skipping.
06-30 13:18:47.717  2672  3995 D GmsMeasureBrokerSvc: bound by: GetServiceRequest{serviceId=MEASUREMENT, gmsVersion=12451000, packageName='ch.sbb.mobile.android.preview', extras=Bundle[{}]}
06-30 13:18:47.725  2672  3995 D GmsMeasureSvcImpl: onTransact [unknown]: 10, android.os.Parcel@6cc7932, 16
06-30 13:18:47.753  2672  3995 D GmsMeasureSvcImpl: onTransact [unknown]: 1, android.os.Parcel@a90683, 16
06-30 13:18:47.755  2672  3995 D GmsMeasureSvcImpl: onTransact [unknown]: 1, android.os.Parcel@6cc7932, 16
06-30 13:18:47.762  2672  3995 D GmsMeasureSvcImpl: onTransact [unknown]: 10, android.os.Parcel@a90683, 16
06-30 13:18:51.422  2012  2012 D QtiCarrierConfigHelper: WARNING, no carrier configs on phone Id: 0
06-30 13:18:51.887  3624  3749 D OpenGLRenderer: endAllActiveAnimators on 0xc650e980 (RippleDrawable) with handle 0xc75c6db0
06-30 13:18:51.897  3624  3624 I ch.sbb.spc.k: Google Play Service Dialog closed
06-30 13:18:51.917  2672  3995 D GmsMeasureSvcImpl: onTransact [unknown]: 10, android.os.Parcel@6cc7932, 16
06-30 13:18:51.941  3624  3624 E r       : requestLogin: 
06-30 13:18:51.941  3624  3624 E r       : ch.sbb.mobile.android.repository.user.swisspass.SwissPassException: requestLogin: 
06-30 13:18:51.941  3624  3624 E r       :  at ch.sbb.mobile.android.repository.user.swisspass.K$c.a(SourceFile:11)
06-30 13:18:51.941  3624  3624 E r       :  at ch.sbb.mobile.android.repository.user.swisspass.K$c.onResult(SourceFile:1)
06-30 13:18:51.941  3624  3624 E r       :  at ch.sbb.spc.ca.a(SourceFile:8)
06-30 13:18:51.941  3624  3624 E r       :  at ch.sbb.spc.ca.onResult(SourceFile:1)
06-30 13:18:51.941  3624  3624 E r       :  at ch.sbb.spc.ma.a(SourceFile:3)
06-30 13:18:51.941  3624  3624 E r       :  at ch.sbb.spc.ma.onResult(SourceFile:1)
06-30 13:18:51.941  3624  3624 E r       :  at ch.sbb.spc.k.a(SourceFile:11)
06-30 13:18:51.941  3624  3624 E r       :  at ch.sbb.spc.CustomTabActivity.a(SourceFile:36)
06-30 13:18:51.941  3624  3624 E r       :  at ch.sbb.spc.h.onClick(SourceFile:2)
06-30 13:18:51.941  3624  3624 E r       :  at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:172)
06-30 13:18:51.941  3624  3624 E r       :  at android.os.Handler.dispatchMessage(Handler.java:106)
06-30 13:18:51.941  3624  3624 E r       :  at android.os.Looper.loop(Looper.java:193)
06-30 13:18:51.941  3624  3624 E r       :  at android.app.ActivityThread.main(ActivityThread.java:6718)
06-30 13:18:51.941  3624  3624 E r       :  at java.lang.reflect.Method.invoke(Native Method)
06-30 13:18:51.941  3624  3624 E r       :  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
06-30 13:18:51.941  3624  3624 E r       :  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
06-30 13:18:51.944  1068  2202 W ActivityManager: Unable to start service Intent { act=android.support.customtabs.action.CustomTabsService pkg=com.android.chrome } U=0: not found
06-30 13:18:51.949  3624  3624 V v       : QUICK_ACCESS resumed.
06-30 13:18:51.950  3624  3624 V i       : TRIPS_AND_TICKETS resumed.
06-30 13:18:51.950  3624  3624 V v       : BEST_GUESS_TICKETS resumed.
06-30 13:18:51.950  3624  3624 V i       : DEPARTURE_TABLE resumed.
06-30 13:18:51.959  2672  2672 D GmsLocManagerSvc: onBind: Intent { act=com.google.android.location.internal.GoogleLocationManagerService.START pkg=com.google.android.gms }
06-30 13:18:51.965  2672  3995 D GmsMeasureSvcImpl: onTransact [unknown]: 1, android.os.Parcel@a90683, 16
06-30 13:18:51.972  3624  3624 I System.out: certificate pinning disabled: false
06-30 13:18:51.979  3624  3624 I W       : Event VIEW: Navigationsmenu - Startseite -  - 
06-30 13:18:51.979  3624  3624 I W       : Referrer: Navigationsmenu
06-30 13:18:51.985  3624  3624 V v       : ADVERTISEMENT resumed.
06-30 13:18:51.995  3624  3624 D y       : Measure view failed.

The following line is puzzling me:

06-30 13:18:47.604  3624  5630 E ch.sbb.spc.k: Update Android Security Provider not available: null

Does someone know what that could mean and even better how I could make the app recognizing that there are Play Services available, through microG?

Another interesting thing is that the app "Signature Spoofing Checker" reports "Signature Spoofing: DISABLED" whereas the Self-Check of microG reports everything is fine.

Nanolx commented 5 years ago

Another interesting thing is that the app "Signature Spoofing Checker" reports "Signature Spoofing: DISABLED" whereas the Self-Check of microG reports everything is fine.

Not actually. Several ROMs limited signature spoofing permission to system apps since last December. If you installed the checker as user app it is expected to not get the permission.

tobru commented 5 years ago

Thanks @Nanolx, that a least explains this one. But I still struggle to understand why the SBB apps thinks that there is no Play Services available.

wombatch commented 5 years ago

If it helps at all I have version 9.0.0.80 running fine with Microg on Lineage 14.1 You post makes me not brave enough to update to the latest version since I rely on the app a lot and downgrading is always a pain.

tobru commented 5 years ago

I'm running SBB Preview v9.3.1 (94), but it's the same behaviour with the standard, non-preview SBB app. Somewhen last year they started to rely on Play Services, afaik 9.0.0.80 doesn't rely on Play Services. See also https://balmer.name/howtos-linux/sbb-mobile-app-blocks-swisspass-without-google-play/.

What could be reasons that an app doesn't detect Play Services with microG installed? From the logging it seems the Android Security Provider is missing or unavailable. Although I couldn't find much information about this provider.

mar-v-in commented 5 years ago

This should be fixed through b02d72b01fd0c7239b494818c05ab7252880d3b0

tobru commented 5 years ago

WOW! Thanks a lot @mar-v-in for taking care of this, really appreciated. As soon as I get hands on a release containing this fix I'll report back if the issues with the SBB app are resolved. Or is there any pre-release / nightly build which I could test?

mar-v-in commented 5 years ago

New release is planned for today or tomorrow

Vavun commented 5 years ago

@mar-v-in would you be so kind to check existing pull requests before new release? Some of 14 pull requests are not critical, but some of them solves known problems like this https://github.com/microg/android_packages_apps_GmsCore/pull/821 annd this one https://github.com/microg/android_packages_apps_GmsCore/pull/799

It will be great if you approve some useful, reject unnecessary or leave review to requests that needs some work.

Sorry for bad english

tobru commented 5 years ago

I can confirm that the release 0.2.8.17785 fixes the issue and the SBB app no longer complains about the missing Play Services. The login screen appears and I can login. Now I hit: #863. As this is another issue, I'll close this one.

Thanks a lot to @mar-v-in for adding support so fast. This gives me a very good feeling about the microG project.

vandenheuvel commented 5 years ago

@tobru How did you log in with your SwissPass? I'm on 9.2.4 and it tells me I need to update my Google Play Services. The log in screen does not appear.

Nanolx commented 5 years ago

Play Services missing usually refers to absence of Play Store. Either install Fake Store or Play Store.

Am 5. Juli 2019 17:03:11 MESZ schrieb vandenheuvel notifications@github.com:

@tobru How did you log in with your SwissPass? I'm on 9.2.4 and it tells me I need to update my Google Play Services. The log in screen does not appear.

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/microg/android_packages_apps_GmsCore/issues/854#issuecomment-508786970

-- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

tobru commented 5 years ago

@vandenheuvel You need the latest microG release. And - for the record - I'm using the LineageOS for microG distribution. Also I've installed Chromium, not sure if it's needed, but without Chromium and only with Fennec the login-page looked broken.

Nevertheless, the SBB doesn't fully work yet. See #863

vandenheuvel commented 5 years ago

@tobru Interesting. I have the same LineageOS for microG, no Chromium. In the end I installed an older version, logged in and then upgraded as was linked to above. Thanks!