UnifiedNlp
UnifiedNlp copied to clipboard
I'm a teapot

Installing XposedGmsCoreUnifiedNip seems to have fixed the issue for now.
Besides: AFAIK microG doesn't call out to Google Maps, but rather redirects/maps the calls to OSM. The "signing thing" you mention is rather for GCM – and yes, using that Xposed module is one way to get it fixed (the other is the ROM allowing for signature spoofing).
Well, my knowledge about how MicroG works is quite limited, but let's try to rephrase: The Google Maps APIs are being updated and introducing changes on how the applications and the API on which they depend communicate.
Coinciding exactly with this several apps that depend on being able to communicate with those APIs fail to launch as they get updated with an error "Install Google Services to run this app", which was not happening before. Installing the Xposed module seems to be a workaround for now. Downgrading the apps to the previous versions works too. The signature spoofing doesn't work for me anymore.
I am using LineageOS for MicroG, which is a ROM with signature spoofing according to the documentation, and here looked to me as the correct place to open the issue. Let me know if there is anywhere else I should go.
Also, for completenes:
- The location services stopped working correctly several days before the apps were updated and failed to start (Untappd, for example displayed an error saying that my location was only estimated. The estimation was actually 600Km off).
- The corresponding backends were installed and working correctly to the date, and continued to work for other applications (MozillaNlpBackend, LocalGSMBackend, UnifiedNlp)
- So it looks first there was a problem first with UnifiedNlp and then too with the sign in?
As I already said I'm no expert in this, but I looked a bit around, saw that I wasn't the only one seeing these kind of issues during last week and thought about reporting it as it might be helpful.
Well, one thing I overlooked: if an app uses the changed API, those calls probably no longer match what microG expects, so of course that broke things. Just wondering how installing that Xposed module (which was indended only for signature spoofing on location services, AFAIR) fixes that. Maybe @mar-v-in can shed some light on that.
this is what I get when trying to uae the "maps" part of the apps I meant (like untappd). Droidguard helper crashes and afaik this is the related log:
Failed to load maps module, use legacy com.google.android.gms.dynamite.DynamiteModule$zzc: No acceptable module found. Local version is 0 and remote version is 0. at com.google.android.gms.dynamite.DynamiteModule.zza(Unknown Source) at com.google.android.gms.maps.internal.zzbz.zzeb(Unknown Source) at com.google.android.gms.maps.internal.zzbz.zzea(Unknown Source) at com.google.android.gms.maps.internal.zzbz.zzdz(Unknown Source) at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source) at plugin.google.maps.CordovaGoogleMaps$1.run(CordovaGoogleMaps.java:209) at android.app.Activity.runOnUiThread(Activity.java:5871) at plugin.google.maps.CordovaGoogleMaps.initialize(CordovaGoogleMaps.java:73) at org.apache.cordova.CordovaPlugin.privateInitialize(CordovaPlugin.java:57) at org.apache.cordova.PluginManager.getPlugin(PluginManager.java:171) at org.apache.cordova.PluginManager.startupPlugins(PluginManager.java:97) at org.apache.cordova.PluginManager.init(PluginManager.java:86) at org.apache.cordova.CordovaWebViewImpl.init(CordovaWebViewImpl.java:115) at org.apache.cordova.CordovaActivity.init(CordovaActivity.java:149) at org.apache.cordova.CordovaActivity.loadUrl(CordovaActivity.java:224) at com.untappdllc.app.MainActivity.onCreate(MainActivity.java:39) at android.app.Activity.performCreate(Activity.java:6684) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2637) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2751) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1496) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6186) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779) at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
FATAL EXCEPTION: main Process: com.untappdllc.app, PID: 9459 java.lang.NullPointerException: Attempt to invoke interface method 'android.os.IBinder com.google.android.gms.dynamic.IObjectWrapper.asBinder()' on a null object reference at com.google.android.gms.dynamic.zzn.zzy(Unknown Source) at com.google.android.gms.maps.model.Marker.getTag(Unknown Source) at plugin.google.maps.PluginMarker$15.onPostExecute(PluginMarker.java:1046) at plugin.google.maps.AsyncLoadImage.onPostExecute(AsyncLoadImage.java:548) at plugin.google.maps.AsyncLoadImage.onPostExecute(AsyncLoadImage.java:27) at android.os.AsyncTask.finish(AsyncTask.java:667) at android.os.AsyncTask.-wrap1(AsyncTask.java) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:684) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6186) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779) at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
java.lang.NoSuchMethodError: com.android.settings.location.SettingsInjector#parseServiceInfo(android.content.pm.ResolveInfo,android.content.pm.PackageManager)#exact at de.robv.android.xposed.XposedHelpers.findMethodExact(XposedHelpers.java:344) at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:185) at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:260) at be.r3w6.intika.xposedunifiednlp.UnifiedNlp.handleLoadPackage(UnifiedNlp.java:31) at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:34) at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:61) at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:106) at de.robv.android.xposed.XposedInit$2.beforeHookedMethod(XposedInit.java:134) at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:340) at android.app.ActivityThread.handleBindApplication(<Xposed>) at android.app.ActivityThread.-wrap2(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1564) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6186) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779) at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
So anyway, in the end it might simply boil down to this and me trying to make sense of it with no experience at all on Android and similars :)
Let's see when it's merged.
This issue also breaks the Amikumu geolocated messaging app (the teleport feature to change one's position uses a Google Maps search for the city). With the message
07-05 11:23:07.299 5948 5948 W GooglePlayServicesUtil: Google Play services out of date. Requires 12451000 but found 12221403
07-05 11:23:07.301 5948 5948 E GooglePlayServicesUtil: GooglePlayServices not available due to error 2
Posting here to avoid creating yet another issue for each app.
This, as many other google aps related issues should be fixed when this PR gets merged #553