microg / GmsCore

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

Licensing support #46

Closed bonanza123 closed 9 years ago

bonanza123 commented 9 years ago

There are a couple of games that require Google play licensing to start (also a couple of free apps) and refuse working if not present. I hope I catched the interesting parts:

10-12 22:52:18.939 D/GmsDummySvc(8478): onBind: Intent { act=com.google.android.gms.appstate.service.START pkg=com.google.android.gms }
10-12 22:52:18.949 D/GmsDummySvc(8478): onBind: Intent { act=com.google.android.gms.games.service.START pkg=com.google.android.gms }
10-12 22:52:18.959 D/GmsDummySvc(8478): onBind: Intent { act=com.google.android.gms.drive.ApiService.START pkg=com.google.android.gms }
10-12 22:52:18.961 I/SexyAppFramework(22246): onResume
10-12 22:52:18.974 D/OpenGLRenderer(22246): Use EGL_SWAP_BEHAVIOR_PRESERVED: true
10-12 22:52:18.985 D/Atlas   (22246): Validating map...
10-12 22:52:18.992 V/WindowManager(2443): Adding window Window{2bcdbb79 u0 com.ea.game.pvz2_row/com.popcap.PvZ2.PvZ2GameActivity} at 33 of 41 (before Window{92fcf6a u0 Starting com.ea.game.pvz2_row})
10-12 22:52:19.002 D/LVLDL   (22246): Service Bound
10-12 22:52:19.024 I/Adreno-EGL(22246): <qeglDrvAPI_eglInitialize:379>: QUALCOMM Build: 01/14/15, ab0075f, Id3510ff6dc
10-12 22:52:19.026 I/OpenGLRenderer(22246): Initialized EGL, version 1.4
10-12 22:52:19.043 D/OpenGLRenderer(22246): Enabling debug mode 0
10-12 22:52:19.181 I/LicenseChecker(22246): Binding to licensing service.
10-12 22:52:19.182 W/ActivityManager(2443): Unable to start service Intent { act=com.android.vending.licensing.ILicensingService pkg=com.android.vending } U=0: not found
10-12 22:52:19.183 E/LicenseChecker(22246): Could not bind to service.
10-12 22:52:19.218 D/GmsDummySvc(8478): bound by: GetServiceRequest{serviceId=APPSTATE, gmsVersion=7327000, packageName='com.ea.game.pvz2_row', scopes=[https://www.googleapis.com/auth/games, https://www.googleapis.com/auth/appstate, https://www.googleapis.com/auth/drive.appdata], extras=Bundle[{}], account=Account {name=<<default account>>, type=com.google}}
10-12 22:52:19.225 E/Parcel  (8478): Class not found when unmarshalling: com.google.android.gms.common.internal.BinderWrapper
10-12 22:52:19.225 E/Parcel  (8478): java.lang.ClassNotFoundException: com.google.android.gms.common.internal.BinderWrapper
10-12 22:52:19.225 E/Parcel  (8478):    at java.lang.Class.classForName(Native Method)
10-12 22:52:19.225 E/Parcel  (8478):    at java.lang.Class.forName(Class.java:309)
10-12 22:52:19.225 E/Parcel  (8478):    at java.lang.Class.forName(Class.java:273)
10-12 22:52:19.225 E/Parcel  (8478):    at android.os.Parcel.readParcelableCreator(Parcel.java:2281)
10-12 22:52:19.225 E/Parcel  (8478):    at android.os.Parcel.readParcelable(Parcel.java:2245)
10-12 22:52:19.225 E/Parcel  (8478):    at android.os.Parcel.readValue(Parcel.java:2152)
10-12 22:52:19.225 E/Parcel  (8478):    at android.os.Parcel.readArrayMapInternal(Parcel.java:2485)
10-12 22:52:19.225 E/Parcel  (8478):    at android.os.BaseBundle.unparcel(BaseBundle.java:221)
10-12 22:52:19.225 E/Parcel  (8478):    at android.os.BaseBundle.keySet(BaseBundle.java:321)
10-12 22:52:19.225 E/Parcel  (8478):    at org.microg.gms.BaseService$1.handleServiceRequest(BaseService.java:39)
10-12 22:52:19.225 E/Parcel  (8478):    at org.microg.gms.AbstractGmsServiceBroker.getService(AbstractGmsServiceBroker.java:271)
10-12 22:52:19.225 E/Parcel  (8478):    at com.google.android.gms.common.internal.IGmsServiceBroker$Stub.onTransact(IGmsServiceBroker.java:532)
10-12 22:52:19.225 E/Parcel  (8478):    at org.microg.gms.AbstractGmsServiceBroker.onTransact(AbstractGmsServiceBroker.java:287)
10-12 22:52:19.225 E/Parcel  (8478):    at android.os.Binder.execTransact(Binder.java:446)
10-12 22:52:19.225 E/Parcel  (8478):    at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
10-12 22:52:19.225 E/Parcel  (8478):    at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:668)
10-12 22:52:19.225 E/Parcel  (8478):    at android.os.Binder.execTransact(<Xposed>)
10-12 22:52:19.225 E/Parcel  (8478): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.internal.BinderWrapper" on path: DexPathList[[zip file "/system/framework/XposedBridge.jar"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
10-12 22:52:19.225 E/Parcel  (8478):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
10-12 22:52:19.225 E/Parcel  (8478):    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
10-12 22:52:19.225 E/Parcel  (8478):    at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
10-12 22:52:19.225 E/Parcel  (8478):    ... 17 more
10-12 22:52:19.225 E/Parcel  (8478):    Suppressed: java.lang.ClassNotFoundException: com.google.android.gms.common.internal.BinderWrapper
10-12 22:52:19.225 E/Parcel  (8478):        at java.lang.Class.classForName(Native Method)
10-12 22:52:19.225 E/Parcel  (8478):        at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
10-12 22:52:19.225 E/Parcel  (8478):        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
10-12 22:52:19.225 E/Parcel  (8478):        at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
10-12 22:52:19.225 E/Parcel  (8478):        ... 18 more
10-12 22:52:19.225 E/Parcel  (8478):    Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
10-12 22:52:19.226 D/GmsDummySvc(8478): bound by: GetServiceRequest{serviceId=GAMES, gmsVersion=7327000, packageName='com.ea.game.pvz2_row', scopes=[https://www.googleapis.com/auth/games, https://www.googleapis.com/auth/appstate, https://www.googleapis.com/auth/drive.appdata], extras=Bundle[mParcelledData.dataSize=1780], account=Account {name=<<default account>>, type=com.google}}
10-12 22:52:19.235 D/GmsDummySvc(8478): bound by: GetServiceRequest{serviceId=DRIVE, gmsVersion=7327000, packageName='com.ea.game.pvz2_row', scopes=[https://www.googleapis.com/auth/games, https://www.googleapis.com/auth/appstate, https://www.googleapis.com/auth/drive.appdata], extras=Bundle[{}], account=Account {name=<<default account>>, type=com.google}}
mar-v-in commented 9 years ago

The exception is not really caused by licensing, but is the same as in #43

bonanza123 commented 9 years ago

Are you sure? In the referenced issue other claim their issue to be fixed, but mine is not. Can someone else try it out with e.g. "plants vs zombies 2"?