libgdx / gdx-pay

A libGDX cross-platform API for InApp purchasing.
Apache License 2.0
224 stars 83 forks source link

Android Failed to Bind to Service #114

Closed zfreeds closed 8 years ago

zfreeds commented 8 years ago

When I try to implement GDX Pay, it works fine with ios but gives me an error message when I try to run it on android.

- error installing purchase manager: com.badlogic.gdx.pay.android.googleplay.GdxPayException: Failed to bind to service 08-24 11:07:23.162 3097-3124/com.mygdx.game W/System.err: com.badlogic.gdx.pay.android.googleplay.GdxPayException: Failed to bind to service 08-24 11:07:23.164 3097-3124/com.mygdx.game W/System.err: at com.badlogic.gdx.pay.android.googleplay.AndroidGooglePlayPurchaseManager$1.disconnected(AndroidGooglePlayPurchaseManager.java:119) 08-24 11:07:23.164 3097-3124/com.mygdx.game W/System.err: at com.badlogic.gdx.pay.android.googleplay.billing.V3GoogleInAppBillingService.bindBillingServiceConnectionToActivity(V3GoogleInAppBillingService.java:111) 08-24 11:07:23.164 3097-3124/com.mygdx.game W/System.err: at com.badlogic.gdx.pay.android.googleplay.billing.V3GoogleInAppBillingService.reconnectToHandleDeadObjectExceptions(V3GoogleInAppBillingService.java:183) 08-24 11:07:23.164 3097-3124/com.mygdx.game W/System.err: at com.badlogic.gdx.pay.android.googleplay.billing.V3GoogleInAppBillingService.internalStartPurchaseRequest(V3GoogleInAppBillingService.java:158) 08-24 11:07:23.164 3097-3124/com.mygdx.game W/System.err: at com.badlogic.gdx.pay.android.googleplay.billing.V3GoogleInAppBillingService.startPurchaseRequest(V3GoogleInAppBillingService.java:139) 08-24 11:07:23.164 3097-3124/com.mygdx.game W/System.err: at com.badlogic.gdx.pay.android.googleplay.AndroidGooglePlayPurchaseManager.purchase(AndroidGooglePlayPurchaseManager.java:196) 08-24 11:07:23.164 3097-3124/com.mygdx.game W/System.err: at com.badlogic.gdx.pay.PurchaseSystem.purchase(PurchaseSystem.java:148) 08-24 11:07:23.164 3097-3124/com.mygdx.game W/System.err: at com.mygdx.game.GDXPay.buyItem(GDXPay.java:154) 08-24 11:07:23.165 3097-3124/com.mygdx.game W/System.err: at com.mygdx.game.states.CharacterSelectionState.handleInput(CharacterSelectionState.java:133) 08-24 11:07:23.165 3097-3124/com.mygdx.game W/System.err: at com.mygdx.game.states.CharacterSelectionState.update(CharacterSelectionState.java:147) 08-24 11:07:23.165 3097-3124/com.mygdx.game W/System.err: at com.mygdx.game.states.Hud.update(Hud.java:94) 08-24 11:07:23.165 3097-3124/com.mygdx.game W/System.err: at com.mygdx.game.states.GameStateManager.update(GameStateManager.java:162) 08-24 11:07:23.165 3097-3124/com.mygdx.game W/System.err: at com.mygdx.game.KangarooGame.render(KangarooGame.java:73) 08-24 11:07:23.166 3097-3124/com.mygdx.game W/System.err: at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:459) 08-24 11:07:23.166 3097-3124/com.mygdx.game W/System.err: at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1535) 08-24 11:07:23.166 3097-3124/com.mygdx.game W/System.err: at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240) 08-24 11:07:23.180 3097-3124/com.mygdx.game W/System.err: Caused by: com.badlogic.gdx.pay.android.googleplay.GdxPayException: bindService() returns false. 08-24 11:07:23.180 3097-3124/com.mygdx.game W/System.err: ... 15 more

keesvandieren commented 8 years ago

Look at these links:

http://stackoverflow.com/questions/17780049/in-what-case-does-bindservice-return-false https://developer.android.com/reference/android/content/Context.html#bindService(android.content.Intent, android.content.ServiceConnection, int) https://developer.android.com/google/play/billing/billing_integrate.html

Probably there is something wrong with your AndroidMainfest.

Hope this helps. If you still do not get it to work, please let us know.

zfreeds commented 8 years ago

My manifest has the things that GDXPay says to add.

`<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mygdx.game" android:versionCode="1" android:versionName="1.0">

<uses-sdk
    android:minSdkVersion="9"
    android:targetSdkVersion="24" />

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="com.android.vending.BILLING" />

<!--Open Store-->
<uses-permission android:name="org.onepf.openiab.permission.BILLING"/>
<!--Samsung Apps-->
<uses-permission android:name="com.sec.android.iap.permission.BILLING"/>
<!--Nokia-->
<uses-permission android:name="com.nokia.payment.BILLING"/>
<!--SlideME-->
<uses-permission android:name="com.slideme.sam.manager.inapp.permission.BILLING"/>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_kangaroo"
    android:label="@string/app_name"
    android:theme="@style/GdxTheme">

    <activity
        android:name=".AndroidLauncher"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
        android:label="@string/app_name"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

`

keesvandieren commented 8 years ago

Did you get this work?

If not, can you drop a minimal sample app on Github that reproduces the problem?

The difference between your and our manifest is that we also ask permission for network state. Not sure if that makes any difference though.

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
zfreeds commented 8 years ago

Actually last night I was trying to fix a problem with building the apk where I was getting a multiple dex files exception for billing and while doing that I messed something up so now my error is Failed resolution of: Lcom/badlogic/gdx/pay/PurchaseSystem;
So once I fix that I'll probably be back to the issue at hand.

zfreeds commented 8 years ago

I tried to make a sample app that reproduces my original issue but its also getting the resolution error.... https://github.com/zfreeds/sampleError

One thing I noticed was I can't download the jars off gdx pay anymore so I copied them from my original file.

keesvandieren commented 8 years ago

Great! Will look into this tonight.

Btw latest version is 0.10.1 (not 0.10.0)

zfreeds commented 8 years ago

Ok, well every time I click the link to download the jar I get a 404 error, https://oss.sonatype.org/content/repositories/releases/com/badlogicgames/gdxpay/gdx-pay-android/0.10.1/gdx-pay-android/0.10.1/library.jar

Thank you for helping

keesvandieren commented 8 years ago

Btw are you running on a simulator, or on a real device?

keesvandieren commented 8 years ago

Cloned the project, now building it with gradle.

Steps (cli):

  1. git clone https://github.com/zfreeds/sampleError gdx-pay-sample-error
  2. cd gdx-pay-sample-error
  3. create a file ./local.properties, and put the sdk.dir property in it, pointing to android sdk dir, e.g. sdk.dir=/path/to/android-sdk-macosx
  4. ./gradlew clean && ./gradlew assemble

Now get the error:

Cause: com.android.dex.DexException: Multiple dex files define     Lcom/android/vending/billing/IInAppBillingService;
    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dex.DexException: Multiple dex files define    Lcom/android/vending/billing/IInAppBillingService;

Root cause is that you have both openiab and android-googleplay implementations as dependency in android/build.gradle. They are mutually exclusive.

Remove these dependencies:

compile files('src/gdx-pay-android-openiab-0.10.0-library.jar')
compile files('src/gdx-pay-android-ouya-0.10.0-library.jar')

After that, compilation fails with:

BUILD FAILED So I removed the 'html' module (from settings.gradle and root build.gradle).

Now Gradle build succeeds.

Next step is to run the app. Probably the gdx-pay.jar itself is missing?

zfreeds commented 8 years ago

That fixed my problem with generating apks and probably fixed the original issue I was having, error installing purchase manager: . I still have problems with Failed resolution of: Lcom/badlogic/gdx/pay/PurchaseSystem; I got that from trying to fix my original error last night. I had removed the android jars from my project, removed the dependancies from the gradle and added everything back in. That's when my resolution error started.

zfreeds commented 8 years ago

I just deleted my android jars again and downloaded them from https://oss.sonatype.org/content/repositories/releases/com/badlogicgames/gdxpay/gdx-pay-android/0.10.1/ and https://oss.sonatype.org/content/repositories/releases/com/badlogicgames/gdxpay/gdx-pay-android-googleplay/0.10.1/gdx-pay-android-googleplay-0.10.1.jar

I then copied them into the android module, right clicked them and pressed add as library. It didn't help.

keesvandieren commented 8 years ago

I have made various changes, and it now starts on my nexus 5 phone.

Attached a git patch file.

Changes:

Most important changes:

Afterwards: ./gradlew clean && ./gradlew assemble cd android ../gradlew installDebug

Now the app 'sampleError' is installed. On my Phone I get the following error in the logs:

08-25 20:53:31.762 5119-5145/com.mygdx.game I/System.out: PURCHASE SYSTEM HAS MANAGER: com.badlogic.gdx.pay.android.googleplay.AndroidGooglePlayPurchaseManager@61f29bd 08-25 20:53:31.771 5119-5119/com.mygdx.game D/GdxPay/V3GoogleIABS: start onServiceConnected(), isConnected() is: false 08-25 20:53:32.267 5119-5155/com.mygdx.game E/GdxPay/AndroidPlay: Failed to load skus in onServiceConnected() com.badlogic.gdx.pay.android.googleplay.GdxPayException: getProductsDetails([ExoticBundle, RemoveAds, Unlockables] failed) after 0 seconds

fixes-gdx-sample-project.txt

keesvandieren commented 8 years ago

In fact, using Gradle to resolve dependencies is the recommended way. This works great in Android Studio. Are you using Eclipse?

zfreeds commented 8 years ago

I use Android studio but to be honest know very little about the gradle and I'm not sure how you understood what to do with the dependancies. For example, how did you know to use compile "com.badlogicgames.gdxpay:gdx-pay-client:${gdxPayVersion}" . Also does using "compile" instead of "compile files" mean I don't have to download the jars? Off topic but are there any good links for me to learn how to use the gradle better?

I made the changes to the gradle that you said to do, I changed the dependencies in the android build grade because it didn't work in the root build gradle. I clicked rebuild project and ran it. It didn't work and gave me the following errors: (I'm updating the sample project along the way FYI)

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/badlogic/gdx/pay/PurchaseSystem;
08-25 15:16:34.279 2351-2435/com.mygdx.game W/System.err:     at com.mygdx.game.GDXPay.<init>(GDXPay.java:27)
08-25 15:16:34.279 2351-2435/com.mygdx.game W/System.err:     at com.mygdx.game.states.CharacterSelectionState.handleInput(CharacterSelectionState.java:121)
08-25 15:16:34.279 2351-2435/com.mygdx.game W/System.err:     at com.mygdx.game.states.CharacterSelectionState.update(CharacterSelectionState.java:136)
08-25 15:16:34.279 2351-2435/com.mygdx.game W/System.err:     at com.mygdx.game.states.Hud.update(Hud.java:95)
08-25 15:16:34.279 2351-2435/com.mygdx.game W/System.err:     at com.mygdx.game.states.GameStateManager.update(GameStateManager.java:162)
08-25 15:16:34.279 2351-2435/com.mygdx.game W/System.err:     at com.mygdx.game.KangarooGame.render(KangarooGame.java:72)
08-25 15:16:34.279 2351-2435/com.mygdx.game W/System.err:     at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:459)
08-25 15:16:34.279 2351-2435/com.mygdx.game W/System.err:     at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1535)
08-25 15:16:34.279 2351-2435/com.mygdx.game W/System.err:     at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
08-25 15:16:34.279 2351-2435/com.mygdx.game W/System.err: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.badlogic.gdx.pay.PurchaseSystem" on path: DexPathList[[dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-annotations-23.0.0_b5e72bc141a77462e74b96ba2fe88366c9af1d36-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-internal_impl-23.0.0_3b4a2e6566e518fd3f9e6b7b259a803f2ea11494-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_1c79ffe9192e0f25e7ebfc74157f3a5f88683b6b-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.0-library_5bb9df8b642118e46d1cf6ce9f1fc7c5b7819548-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-box2d-1.9.3_67aa748984613ebf7abbe1c7ff72861a766d1b15-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-backend-android-1.9.3_ca85d20d8c8dd4e08725aba4893e2b71e7aee306-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-1.9.3_c7280377d3d5533cfd9040f0586e5f48cb0f4dbb-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-iid-9.2.1_0dbd3f8f148b38c2e4ff5e67a3dace2ecaf9c9dd-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-database-connection-9.2.1_9f9ca040babca7876a3eb22f090b0dafba72a9af-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-database-9.2.1_c5535c0fb6e6f6e2b782a8bd6a7fa3e163ef60df-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-common-9.2.1_0c6dacaf61f63606e0a9038d830f722354b36250-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-analytics-impl-9.2.1_dd48755967c41ddedf0141719a36819cc97dae6c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-analytics-9.2.1_8cdda8776c5f1d7c15f9d1a7b44e10eebddfaec1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-tasks-9.2.1_02d6aefc5b7fffac7e1c24a862f9174aea82a08c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-gass-9.2.1_24b570b76b62844f00e7e4578aaf667b9e85705e-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-clearcut-9.2.1_8f783df15b9306d95bb7e97cc3132d7b18b1b14e-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-basement-9.2.1_4a956b6aaf39b5b61ff072af77457f3c3ad76855-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-base-9.2.1_6fbd9ed568e6e787abb584a98fe78d83cc642d36-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-ads-lite-9.2.1_e9b0ae00300a82e3d3edb229741f6a71b9327609-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.and
08-25 15:16:34.279 2351-2435/com.mygdx.game W/System.err:     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
08-25 15:16:34.279 2351-2435/com.mygdx.game W/System.err:     at com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader.findClass(IncrementalClassLoader.java:90)
08-25 15:16:34.279 2351-2435/com.mygdx.game W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
08-25 15:16:34.279 2351-2435/com.mygdx.game W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
08-25 15:16:34.279 2351-2435/com.mygdx.game W/System.err:   ... 9 more
08-25 15:16:34.280 2351-2435/com.mygdx.game W/System.err:   Suppressed: java.lang.ClassNotFoundException: Didn't find class "com.badlogic.gdx.pay.PurchaseSystem" on path: DexPathList[[zip file "/data/app/com.mygdx.game-1/base.apk"],nativeLibraryDirectories=[/data/app/com.mygdx.game-1/lib/x86, /data/app/com.mygdx.game-1/base.apk!/lib/x86, /vendor/lib, /system/lib]]
08-25 15:16:34.280 2351-2435/com.mygdx.game W/System.err:     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
08-25 15:16:34.280 2351-2435/com.mygdx.game W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
08-25 15:16:34.301 2351-2435/com.mygdx.game W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
08-25 15:16:34.302 2351-2435/com.mygdx.game W/System.err:       ... 10 more
08-25 15:16:34.302 2351-2435/com.mygdx.game W/System.err:       Suppressed: java.lang.ClassNotFoundException: Didn't find class "com.badlogic.gdx.pay.PurchaseSystem" on path: DexPathList[[dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-annotations-23.0.0_b5e72bc141a77462e74b96ba2fe88366c9af1d36-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-internal_impl-23.0.0_3b4a2e6566e518fd3f9e6b7b259a803f2ea11494-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_1c79ffe9192e0f25e7ebfc74157f3a5f88683b6b-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.0-library_5bb9df8b642118e46d1cf6ce9f1fc7c5b7819548-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-box2d-1.9.3_67aa748984613ebf7abbe1c7ff72861a766d1b15-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-backend-android-1.9.3_ca85d20d8c8dd4e08725aba4893e2b71e7aee306-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-1.9.3_c7280377d3d5533cfd9040f0586e5f48cb0f4dbb-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-iid-9.2.1_0dbd3f8f148b38c2e4ff5e67a3dace2ecaf9c9dd-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-database-connection-9.2.1_9f9ca040babca7876a3eb22f090b0dafba72a9af-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-database-9.2.1_c5535c0fb6e6f6e2b782a8bd6a7fa3e163ef60df-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-common-9.2.1_0c6dacaf61f63606e0a9038d830f722354b36250-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-analytics-impl-9.2.1_dd48755967c41ddedf0141719a36819cc97dae6c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-analytics-9.2.1_8cdda8776c5f1d7c15f9d1a7b44e10eebddfaec1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-tasks-9.2.1_02d6aefc5b7fffac7e1c24a862f9174aea82a08c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-gass-9.2.1_24b570b76b62844f00e7e4578aaf667b9e85705e-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-clearcut-9.2.1_8f783df15b9306d95bb7e97cc3132d7b18b1b14e-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-basement-9.2.1_4a956b6aaf39b5b61ff072af77457f3c3ad76855-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-base-9.2.1_6fbd9ed568e6e787abb584a98fe78d83cc642d36-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-ads-lite-9.2.1_e9b0ae00300a82e3d3edb229741f6a71b9327609-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.
08-25 15:16:34.302 2351-2435/com.mygdx.game W/System.err:     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
08-25 15:16:34.302 2351-2435/com.mygdx.game W/System.err:     at com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader.findClass(IncrementalClassLoader.java:90)
08-25 15:16:34.302 2351-2435/com.mygdx.game W/System.err:     at com.android.tools.fd.runtime.IncrementalClassLoader.findClass(IncrementalClassLoader.java:62)
08-25 15:16:34.302 2351-2435/com.mygdx.game W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
08-25 15:16:34.302 2351-2435/com.mygdx.game W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
08-25 15:16:34.302 2351-2435/com.mygdx.game W/System.err:           ... 11 more
08-25 15:16:34.302 2351-2435/com.mygdx.game W/System.err:           Suppressed: java.lang.ClassNotFoundException: com.badlogic.gdx.pay.PurchaseSystem
08-25 15:16:34.302 2351-2435/com.mygdx.game W/System.err:     at java.lang.Class.classForName(Native Method)
08-25 15:16:34.302 2351-2435/com.mygdx.game W/System.err:     at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
08-25 15:16:34.302 2351-2435/com.mygdx.game W/System.err:     at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
08-25 15:16:34.302 2351-2435/com.mygdx.game W/System.err:     at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
08-25 15:16:34.302 2351-2435/com.mygdx.game W/System.err:               ... 12 more
08-25 15:16:34.302 2351-2435/com.mygdx.game W/System.err:           Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
08-25 15:16:34.302 2351-2435/com.mygdx.game I/System.out:  - purchasing: ExoticBundle.
08-25 15:16:34.307 2351-2435/com.mygdx.game E/Surface: getSlotFromBufferLocked: unknown buffer: 0xa0594d10

                                                       --------- beginning of crash
08-25 15:16:34.309 2351-2435/com.mygdx.game E/AndroidRuntime: FATAL EXCEPTION: GLThread 89
                                                              Process: com.mygdx.game, PID: 2351
                                                              java.lang.NoClassDefFoundError: Failed resolution of: Lcom/badlogic/gdx/pay/PurchaseSystem;
                                                                  at com.mygdx.game.GDXPay.buyItem(GDXPay.java:153)
                                                                  at com.mygdx.game.states.CharacterSelectionState.handleInput(CharacterSelectionState.java:122)
                                                                  at com.mygdx.game.states.CharacterSelectionState.update(CharacterSelectionState.java:136)
                                                                  at com.mygdx.game.states.Hud.update(Hud.java:95)
                                                                  at com.mygdx.game.states.GameStateManager.update(GameStateManager.java:162)
                                                                  at com.mygdx.game.KangarooGame.render(KangarooGame.java:72)
                                                                  at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:459)
                                                                  at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1535)
                                                                  at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
                                                               Caused by: java.lang.ClassNotFoundException: Didn't find class "com.badlogic.gdx.pay.PurchaseSystem" on path: DexPathList[[dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-annotations-23.0.0_b5e72bc141a77462e74b96ba2fe88366c9af1d36-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-internal_impl-23.0.0_3b4a2e6566e518fd3f9e6b7b259a803f2ea11494-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_1c79ffe9192e0f25e7ebfc74157f3a5f88683b6b-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.0-library_5bb9df8b642118e46d1cf6ce9f1fc7c5b7819548-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-box2d-1.9.3_67aa748984613ebf7abbe1c7ff72861a766d1b15-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-backend-android-1.9.3_ca85d20d8c8dd4e08725aba4893e2b71e7aee306-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-1.9.3_c7280377d3d5533cfd9040f0586e5f48cb0f4dbb-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-iid-9.2.1_0dbd3f8f148b38c2e4ff5e67a3dace2ecaf9c9dd-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-database-connection-9.2.1_9f9ca040babca7876a3eb22f090b0dafba72a9af-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-database-9.2.1_c5535c0fb6e6f6e2b782a8bd6a7fa3e163ef60df-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-common-9.2.1_0c6dacaf61f63606e0a9038d830f722354b36250-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-analytics-impl-9.2.1_dd48755967c41ddedf0141719a36819cc97dae6c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-analytics-9.2.1_8cdda8776c5f1d7c15f9d1a7b44e10eebddfaec1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-tasks-9.2.1_02d6aefc5b7fffac7e1c24a862f9174aea82a08c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-servic
08-25 15:16:34.309 2351-2435/com.mygdx.game D/Error: ERR: exClass=java.lang.ClassNotFoundException
08-25 15:16:34.310 2351-2435/com.mygdx.game D/Error: ERR: exMsg=Didn't find class "com.badlogic.gdx.pay.PurchaseSystem" on path: DexPathList[[dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-annotations-23.0.0_b5e72bc141a77462e74b96ba2fe88366c9af1d36-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-internal_impl-23.0.0_3b4a2e6566e518fd3f9e6b7b259a803f2ea11494-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_1c79ffe9192e0f25e7ebfc74157f3a5f88683b6b-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.0-library_5bb9df8b642118e46d1cf6ce9f1fc7c5b7819548-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-box2d-1.9.3_67aa748984613ebf7abbe1c7ff72861a766d1b15-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-backend-android-1.9.3_ca85d20d8c8dd4e08725aba4893e2b71e7aee306-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-1.9.3_c7280377d3d5533cfd9040f0586e5f48cb0f4dbb-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-iid-9.2.1_0dbd3f8f148b38c2e4ff5e67a3dace2ecaf9c9dd-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-database-connection-9.2.1_9f9ca040babca7876a3eb22f090b0dafba72a9af-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-database-9.2.1_c5535c0fb6e6f6e2b782a8bd6a7fa3e163ef60df-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-common-9.2.1_0c6dacaf61f63606e0a9038d830f722354b36250-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-analytics-impl-9.2.1_dd48755967c41ddedf0141719a36819cc97dae6c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-analytics-9.2.1_8cdda8776c5f1d7c15f9d1a7b44e10eebddfaec1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-tasks-9.2.1_02d6aefc5b7fffac7e1c24a862f9174aea82a08c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-gass-9.2.1_24b570b76b62844f00e7e4578aaf667b9e85705e-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-clearcut-9.2.1_8f783df15b9306d95bb7e97cc3132d7b18b1b14e-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-basement-9.2.1_4a956b6aaf39b5b61ff072af77457f3c3ad76855-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-base-9.2.1_6fbd9ed568e6e787abb584a98fe78d83cc642d36-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-ads-lite-9.2.1_e9b0ae00300a82e3d3edb229741f6a71b9327609-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-ads-9.2.1_e9a2fa
08-25 15:16:34.310 2351-2435/com.mygdx.game D/Error: ERR: file=BaseDexClassLoader.java
08-25 15:16:34.310 2351-2435/com.mygdx.game D/Error: ERR: class=dalvik.system.BaseDexClassLoader
08-25 15:16:34.310 2351-2435/com.mygdx.game D/Error: ERR: method=findClass line=56
08-25 15:16:34.315 2351-2435/com.mygdx.game D/Error: ERR: stack=java.lang.NoClassDefFoundError: Failed resolution of: Lcom/badlogic/gdx/pay/PurchaseSystem;
                                                         at com.mygdx.game.GDXPay.buyItem(GDXPay.java:153)
                                                         at com.mygdx.game.states.CharacterSelectionState.handleInput(CharacterSelectionState.java:122)
                                                         at com.mygdx.game.states.CharacterSelectionState.update(CharacterSelectionState.java:136)
                                                         at com.mygdx.game.states.Hud.update(Hud.java:95)
                                                         at com.mygdx.game.states.GameStateManager.update(GameStateManager.java:162)
                                                         at com.mygdx.game.KangarooGame.render(KangarooGame.java:72)
                                                         at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:459)
                                                         at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1535)
                                                         at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
                                                      Caused by: java.lang.ClassNotFoundException: Didn't find class "com.badlogic.gdx.pay.PurchaseSystem" on path: DexPathList[[dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-annotations-23.0.0_b5e72bc141a77462e74b96ba2fe88366c9af1d36-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-internal_impl-23.0.0_3b4a2e6566e518fd3f9e6b7b259a803f2ea11494-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_1c79ffe9192e0f25e7ebfc74157f3a5f88683b6b-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.0-library_5bb9df8b642118e46d1cf6ce9f1fc7c5b7819548-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-box2d-1.9.3_67aa748984613ebf7abbe1c7ff72861a766d1b15-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-backend-android-1.9.3_ca85d20d8c8dd4e08725aba4893e2b71e7aee306-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-1.9.3_c7280377d3d5533cfd9040f0586e5f48cb0f4dbb-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-iid-9.2.1_0dbd3f8f148b38c2e4ff5e67a3dace2ecaf9c9dd-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-database-connection-9.2.1_9f9ca040babca7876a3eb22f090b0dafba72a9af-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-database-9.2.1_c5535c0fb6e6f6e2b782a8bd6a7fa3e163ef60df-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-common-9.2.1_0c6dacaf61f63606e0a9038d830f722354b36250-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-analytics-impl-9.2.1_dd48755967c41ddedf0141719a36819cc97dae6c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-analytics-9.2.1_8cdda8776c5f1d7c15f9d1a7b44e10eebddfaec1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-tasks-9.2.1_02d6aefc5b7fffac7e1c24a862f9174aea82a08c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.android.gms-play-services-gass-9.2.1_24b570b76b62844f00e7e4578aaf667b9e85705e-classes
08-25 15:16:34.318 2351-2435/com.mygdx.game D/Error: ERR: TOTAL BYTES WRITTEN: 31784
08-25 15:16:38.595 2351-2351/com.mygdx.game E/AndroidGraphics: waiting for pause synchronization took too long; assuming deadlock and killing
08-25 15:16:38.595 2351-2351/com.mygdx.game I/Process: Sending signal. PID: 2351 SIG: 9
08-25 15:19:07.844 3428-3428/com.mygdx.game D/AndroidRuntime: Shutting down VM
08-25 15:19:07.845 3428-3428/com.mygdx.game E/AndroidRuntime: FATAL EXCEPTION: main
                                                              Process: com.mygdx.game, PID: 3428
                                                              java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/R$string;
                                                                  at com.google.android.gms.common.internal.zzai.<init>(Unknown Source)
                                                                  at com.google.firebase.FirebaseOptions.fromResource(Unknown Source)
                                                                  at com.google.firebase.FirebaseApp.zzeh(Unknown Source)
                                                                  at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
                                                                  at android.content.ContentProvider.attachInfo(ContentProvider.java:1748)
                                                                  at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
                                                                  at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
                                                                  at android.app.ActivityThread.installProvider(ActivityThread.java:5153)
                                                                  at android.app.ActivityThread.installContentProviders(ActivityThread.java:4748)
                                                                  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688)
                                                                  at android.app.ActivityThread.-wrap1(ActivityThread.java)
                                                                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
                                                                  at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                  at android.os.Looper.loop(Looper.java:148)
                                                                  at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                  at java.lang.reflect.Method.invoke(Native Method)
                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                               Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.R$string" on path: DexPathList[[dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-v4-19.0.0_2c98281b299fb0a96dc9b2071dbac422e251edf7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-annotations-23.0.0_b5e72bc141a77462e74b96ba2fe88366c9af1d36-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-jsr305-3.0.1_d24a630928783584898f574a885022b1915c436c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-internal_impl-23.0.0_3b4a2e6566e518fd3f9e6b7b259a803f2ea11494-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-instant-run_668f1ddf24f12ac3afa865ef680cefa62093de30-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-instant-run-bootstrap_078db33cc79b87c28755fcc2ce1c8c7b406a4d63-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-client-0.10.1_67de05c680235c8674569d7c2052096057a1eca1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_cb75023c434bc6bfd9005262d5468ed82f6d69fc-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_1c79ffe9192e0f25e7ebfc74157f3a5f88683b6b-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.1_67498fd476e3910484c18ffe98547d28087df282-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.0-library_5bb9df8b642118e46d1cf6ce9f1fc7c5b7819548-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-0.10.1_502154dcb3cc2dadab350c3b6149e026ef1d58dd-classes.dex", de
08-25 15:19:07.846 3428-3428/com.mygdx.game D/Error: ERR: exClass=java.lang.ClassNotFoundException
08-25 15:19:07.846 3428-3428/com.mygdx.game D/Error: ERR: exMsg=Didn't find class "com.google.android.gms.R$string" on path: DexPathList[[dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-v4-19.0.0_2c98281b299fb0a96dc9b2071dbac422e251edf7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-annotations-23.0.0_b5e72bc141a77462e74b96ba2fe88366c9af1d36-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-jsr305-3.0.1_d24a630928783584898f574a885022b1915c436c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-internal_impl-23.0.0_3b4a2e6566e518fd3f9e6b7b259a803f2ea11494-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-instant-run_668f1ddf24f12ac3afa865ef680cefa62093de30-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-instant-run-bootstrap_078db33cc79b87c28755fcc2ce1c8c7b406a4d63-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-client-0.10.1_67de05c680235c8674569d7c2052096057a1eca1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_cb75023c434bc6bfd9005262d5468ed82f6d69fc-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_1c79ffe9192e0f25e7ebfc74157f3a5f88683b6b-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.1_67498fd476e3910484c18ffe98547d28087df282-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.0-library_5bb9df8b642118e46d1cf6ce9f1fc7c5b7819548-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-0.10.1_502154dcb3cc2dadab350c3b6149e026ef1d58dd-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-box2d-1.9.4_78566d4f69ba3f977ebd927104199ccd8e4be4c6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-box2d-1.9.3_67aa748984613ebf7abbe1c7ff72861a766d1b15-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-backend-android-1.9.4_8c5a843f165aaf1c2840a0ead17a2cfcad676f66-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-backend-android-1.9.3_ca85d20d8c8dd4e08725aba4893e2b71e7aee306-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-1.9.4_43039dc86372e67f381f96ec0a7877c4d70a8adb-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-1.9.3_c7280377d3d5533cfd9040f0586e5f48cb0f4dbb-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-iid-9.2.1_0dbd3f8f148b38c2e4ff5e67a3dace2ecaf9c9dd-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-database-connection-9.2.1_9f9ca040babca7876a3eb22f090b0dafba72a9af-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-database-9.2.1_c5535c0fb6e6f6e2b782a8bd6a7fa3e163ef60df-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-common-9.2.1_0c6d
08-25 15:19:07.846 3428-3428/com.mygdx.game D/Error: ERR: file=BaseDexClassLoader.java
08-25 15:19:07.846 3428-3428/com.mygdx.game D/Error: ERR: class=dalvik.system.BaseDexClassLoader
08-25 15:19:07.846 3428-3428/com.mygdx.game D/Error: ERR: method=findClass line=56
08-25 15:19:07.846 3428-3428/com.mygdx.game D/Error: ERR: stack=java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/R$string;
                                                         at com.google.android.gms.common.internal.zzai.<init>(Unknown Source)
                                                         at com.google.firebase.FirebaseOptions.fromResource(Unknown Source)
                                                         at com.google.firebase.FirebaseApp.zzeh(Unknown Source)
                                                         at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
                                                         at android.content.ContentProvider.attachInfo(ContentProvider.java:1748)
                                                         at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
                                                         at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
                                                         at android.app.ActivityThread.installProvider(ActivityThread.java:5153)
                                                         at android.app.ActivityThread.installContentProviders(ActivityThread.java:4748)
                                                         at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688)
                                                         at android.app.ActivityThread.-wrap1(ActivityThread.java)
                                                         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
                                                         at android.os.Handler.dispatchMessage(Handler.java:102)
                                                         at android.os.Looper.loop(Looper.java:148)
                                                         at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                         at java.lang.reflect.Method.invoke(Native Method)
                                                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                      Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.R$string" on path: DexPathList[[dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-v4-19.0.0_2c98281b299fb0a96dc9b2071dbac422e251edf7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-annotations-23.0.0_b5e72bc141a77462e74b96ba2fe88366c9af1d36-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-jsr305-3.0.1_d24a630928783584898f574a885022b1915c436c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-internal_impl-23.0.0_3b4a2e6566e518fd3f9e6b7b259a803f2ea11494-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-instant-run_668f1ddf24f12ac3afa865ef680cefa62093de30-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-instant-run-bootstrap_078db33cc79b87c28755fcc2ce1c8c7b406a4d63-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-client-0.10.1_67de05c680235c8674569d7c2052096057a1eca1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_cb75023c434bc6bfd9005262d5468ed82f6d69fc-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_1c79ffe9192e0f25e7ebfc74157f3a5f88683b6b-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.1_67498fd476e3910484c18ffe98547d28087df282-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.0-library_5bb9df8b642118e46d1cf6ce9f1fc7c5b7819548-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-0.10.1_502154dcb3cc2dadab350c3b6149e026ef1d58dd-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex
08-25 15:19:07.846 3428-3428/com.mygdx.game D/Error: ERR: TOTAL BYTES WRITTEN: 41988
08-25 15:20:16.229 3606-3606/com.mygdx.game D/AndroidRuntime: Shutting down VM
08-25 15:20:16.232 3606-3606/com.mygdx.game E/AndroidRuntime: FATAL EXCEPTION: main
                                                              Process: com.mygdx.game, PID: 3606
                                                              java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/R$string;
                                                                  at com.google.android.gms.common.internal.zzai.<init>(Unknown Source)
                                                                  at com.google.firebase.FirebaseOptions.fromResource(Unknown Source)
                                                                  at com.google.firebase.FirebaseApp.zzeh(Unknown Source)
                                                                  at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
                                                                  at android.content.ContentProvider.attachInfo(ContentProvider.java:1748)
                                                                  at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
                                                                  at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
                                                                  at android.app.ActivityThread.installProvider(ActivityThread.java:5153)
                                                                  at android.app.ActivityThread.installContentProviders(ActivityThread.java:4748)
                                                                  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688)
                                                                  at android.app.ActivityThread.-wrap1(ActivityThread.java)
                                                                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
                                                                  at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                  at android.os.Looper.loop(Looper.java:148)
                                                                  at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                  at java.lang.reflect.Method.invoke(Native Method)
                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                               Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.R$string" on path: DexPathList[[dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-v4-19.0.0_2c98281b299fb0a96dc9b2071dbac422e251edf7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-annotations-23.0.0_b5e72bc141a77462e74b96ba2fe88366c9af1d36-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-jsr305-3.0.1_d24a630928783584898f574a885022b1915c436c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-internal_impl-23.0.0_3b4a2e6566e518fd3f9e6b7b259a803f2ea11494-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-instant-run_668f1ddf24f12ac3afa865ef680cefa62093de30-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-instant-run-bootstrap_078db33cc79b87c28755fcc2ce1c8c7b406a4d63-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-client-0.10.1_67de05c680235c8674569d7c2052096057a1eca1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_cb75023c434bc6bfd9005262d5468ed82f6d69fc-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_1c79ffe9192e0f25e7ebfc74157f3a5f88683b6b-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.1_67498fd476e3910484c18ffe98547d28087df282-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.0-library_5bb9df8b642118e46d1cf6ce9f1fc7c5b7819548-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-0.10.1_502154dcb3cc2dadab350c3b6149e026ef1d58dd-classes.dex", de
08-25 15:20:16.235 3606-3606/com.mygdx.game D/Error: ERR: exClass=java.lang.ClassNotFoundException
08-25 15:20:16.235 3606-3606/com.mygdx.game D/Error: ERR: exMsg=Didn't find class "com.google.android.gms.R$string" on path: DexPathList[[dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-v4-19.0.0_2c98281b299fb0a96dc9b2071dbac422e251edf7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-annotations-23.0.0_b5e72bc141a77462e74b96ba2fe88366c9af1d36-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-jsr305-3.0.1_d24a630928783584898f574a885022b1915c436c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-internal_impl-23.0.0_3b4a2e6566e518fd3f9e6b7b259a803f2ea11494-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-instant-run_668f1ddf24f12ac3afa865ef680cefa62093de30-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-instant-run-bootstrap_078db33cc79b87c28755fcc2ce1c8c7b406a4d63-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-client-0.10.1_67de05c680235c8674569d7c2052096057a1eca1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_cb75023c434bc6bfd9005262d5468ed82f6d69fc-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_1c79ffe9192e0f25e7ebfc74157f3a5f88683b6b-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.1_67498fd476e3910484c18ffe98547d28087df282-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.0-library_5bb9df8b642118e46d1cf6ce9f1fc7c5b7819548-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-0.10.1_502154dcb3cc2dadab350c3b6149e026ef1d58dd-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-box2d-1.9.4_78566d4f69ba3f977ebd927104199ccd8e4be4c6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-box2d-1.9.3_67aa748984613ebf7abbe1c7ff72861a766d1b15-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-backend-android-1.9.4_8c5a843f165aaf1c2840a0ead17a2cfcad676f66-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-backend-android-1.9.3_ca85d20d8c8dd4e08725aba4893e2b71e7aee306-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-1.9.4_43039dc86372e67f381f96ec0a7877c4d70a8adb-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-1.9.3_c7280377d3d5533cfd9040f0586e5f48cb0f4dbb-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-iid-9.2.1_0dbd3f8f148b38c2e4ff5e67a3dace2ecaf9c9dd-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-database-connection-9.2.1_9f9ca040babca7876a3eb22f090b0dafba72a9af-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-database-9.2.1_c5535c0fb6e6f6e2b782a8bd6a7fa3e163ef60df-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-com.google.firebase-firebase-common-9.2.1_0c6d
08-25 15:20:16.235 3606-3606/com.mygdx.game D/Error: ERR: file=BaseDexClassLoader.java
08-25 15:20:16.235 3606-3606/com.mygdx.game D/Error: ERR: class=dalvik.system.BaseDexClassLoader
08-25 15:20:16.235 3606-3606/com.mygdx.game D/Error: ERR: method=findClass line=56
08-25 15:20:16.235 3606-3606/com.mygdx.game D/Error: ERR: stack=java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/R$string;
                                                         at com.google.android.gms.common.internal.zzai.<init>(Unknown Source)
                                                         at com.google.firebase.FirebaseOptions.fromResource(Unknown Source)
                                                         at com.google.firebase.FirebaseApp.zzeh(Unknown Source)
                                                         at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
                                                         at android.content.ContentProvider.attachInfo(ContentProvider.java:1748)
                                                         at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
                                                         at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
                                                         at android.app.ActivityThread.installProvider(ActivityThread.java:5153)
                                                         at android.app.ActivityThread.installContentProviders(ActivityThread.java:4748)
                                                         at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688)
                                                         at android.app.ActivityThread.-wrap1(ActivityThread.java)
                                                         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
                                                         at android.os.Handler.dispatchMessage(Handler.java:102)
                                                         at android.os.Looper.loop(Looper.java:148)
                                                         at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                         at java.lang.reflect.Method.invoke(Native Method)
                                                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                      Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.R$string" on path: DexPathList[[dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-v4-19.0.0_2c98281b299fb0a96dc9b2071dbac422e251edf7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-annotations-23.0.0_b5e72bc141a77462e74b96ba2fe88366c9af1d36-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-jsr305-3.0.1_d24a630928783584898f574a885022b1915c436c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-internal_impl-23.0.0_3b4a2e6566e518fd3f9e6b7b259a803f2ea11494-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-instant-run_668f1ddf24f12ac3afa865ef680cefa62093de30-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-instant-run-bootstrap_078db33cc79b87c28755fcc2ce1c8c7b406a4d63-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-client-0.10.1_67de05c680235c8674569d7c2052096057a1eca1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_cb75023c434bc6bfd9005262d5468ed82f6d69fc-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_1c79ffe9192e0f25e7ebfc74157f3a5f88683b6b-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.1_67498fd476e3910484c18ffe98547d28087df282-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.0-library_5bb9df8b642118e46d1cf6ce9f1fc7c5b7819548-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-0.10.1_502154dcb3cc2dadab350c3b6149e026ef1d58dd-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex
08-25 15:20:16.235 3606-3606/com.mygdx.game D/Error: ERR: TOTAL BYTES WRITTEN: 41988
08-25 15:20:46.170 3606-3612/com.mygdx.game W/art: Suspending all threads took: 5.534ms
08-25 15:22:31.659 3606-3606/com.mygdx.game I/Process: Sending signal. PID: 3606 SIG: 9
08-25 15:22:43.632 5558-5558/com.mygdx.game I/AndroidInput: sensor listener setup
08-25 15:22:43.649 5558-5568/com.mygdx.game I/art: Background sticky concurrent mark sweep GC freed 11869(1742KB) AllocSpace objects, 2(40KB) LOS objects, 74% free, 943KB/3MB, paused 31.861ms total 69.104ms
08-25 15:22:43.690 5558-5606/com.mygdx.game D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true

                                                              [ 08-25 15:22:43.724  5558: 5606 D/         ]
                                                              HostConnection::get() New Host Connection established 0xae3a74e0, tid 5606
08-25 15:22:43.746 5558-5606/com.mygdx.game I/OpenGLRenderer: Initialized EGL, version 1.4

                                                              [ 08-25 15:22:43.852  5558: 5595 D/         ]
                                                              HostConnection::get() New Host Connection established 0xafeca7a0, tid 5595
08-25 15:22:44.209 5558-5595/com.mygdx.game W/GL2JNIView: creating OpenGL ES 2.0 context
08-25 15:22:44.236 5558-5595/com.mygdx.game W/GL2JNIView: Returning a GLES 2 context
08-25 15:22:44.337 5558-5595/com.mygdx.game I/GL2: all initialized 2
08-25 15:22:44.337 5558-5595/com.mygdx.game I/AndroidGraphics: OGL renderer: Android Emulator OpenGL ES Translator (Intel HD Graphics 3000 OpenGL Engine)
08-25 15:22:44.338 5558-5595/com.mygdx.game I/AndroidGraphics: OGL vendor: Google (Intel Inc.)
08-25 15:22:44.348 5558-5595/com.mygdx.game I/AndroidGraphics: OGL version: OpenGL ES 2.0 (2.1 INTEL-10.0.51)
08-25 15:22:44.372 5558-5595/com.mygdx.game I/AndroidGraphics: OGL extensions: GL_EXT_debug_marker GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_depth24 GL_OES_depth32 GL_OES_element_index_uint GL_OES_texture_float GL_OES_texture_float_linear GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth_texture GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_packed_depth_stencil GL_OES_vertex_half_float GL_OES_texture_npot ANDROID_EMU_CHECKSUM_HELPER_v1 
08-25 15:22:44.373 5558-5595/com.mygdx.game E/EGL_emulation: [getAttribValue] Bad attribute idx
08-25 15:22:44.373 5558-5595/com.mygdx.game E/EGL_emulation: tid 5595: eglGetConfigAttrib(631): error 0x3004 (EGL_BAD_ATTRIBUTE)
08-25 15:22:44.373 5558-5595/com.mygdx.game E/EGL_emulation: [getAttribValue] Bad attribute idx
08-25 15:22:44.373 5558-5595/com.mygdx.game E/EGL_emulation: tid 5595: eglGetConfigAttrib(631): error 0x3004 (EGL_BAD_ATTRIBUTE)
08-25 15:22:44.378 5558-5595/com.mygdx.game I/AndroidGraphics: framebuffer: (5, 6, 5, 0)
08-25 15:22:44.412 5558-5595/com.mygdx.game I/AndroidGraphics: depthbuffer: (24)
08-25 15:22:44.418 5558-5595/com.mygdx.game I/AndroidGraphics: stencilbuffer: (0)
08-25 15:22:44.421 5558-5595/com.mygdx.game I/AndroidGraphics: samples: (0)
08-25 15:22:44.451 5558-5595/com.mygdx.game I/AndroidGraphics: coverage sampling: (false)
08-25 15:22:44.486 5558-5595/com.mygdx.game I/AndroidGraphics: Managed meshes/app: { }
08-25 15:22:44.487 5558-5595/com.mygdx.game I/AndroidGraphics: Managed textures/app: { }
08-25 15:22:44.487 5558-5595/com.mygdx.game I/AndroidGraphics: Managed cubemap/app: { }
08-25 15:22:44.487 5558-5595/com.mygdx.game I/AndroidGraphics: Managed shaders/app: { }
08-25 15:22:44.488 5558-5595/com.mygdx.game I/AndroidGraphics: Managed buffers/app: { }
08-25 15:22:44.985 5558-5595/com.mygdx.game D/GdxPay/IAP: Failed to locate purchase manager for OUYA-IAP (gdx-pay-android-ouya.jar file not installed)
                                                          java.lang.ClassNotFoundException: com.badlogic.gdx.pay.android.ouya.PurchaseManagerAndroidOUYA
                                                              at java.lang.Class.classForName(Native Method)
                                                              at java.lang.Class.forName(Class.java:324)
                                                              at java.lang.Class.forName(Class.java:285)
                                                              at com.badlogic.gdx.pay.android.IAP.<init>(IAP.java:125)
                                                              at com.badlogic.gdx.pay.android.IAP.setup(IAP.java:93)
                                                              at java.lang.reflect.Method.invoke(Native Method)
                                                              at com.badlogic.gdx.utils.reflect.Method.invoke(Method.java:108)
                                                              at com.badlogic.gdx.pay.PurchaseSystem.resolve(PurchaseSystem.java:70)
                                                              at com.badlogic.gdx.pay.PurchaseSystem.getManager(PurchaseSystem.java:90)
                                                              at com.badlogic.gdx.pay.PurchaseSystem.hasManager(PurchaseSystem.java:99)
                                                              at com.mygdx.game.GDXPay.<init>(GDXPay.java:29)
                                                              at com.mygdx.game.MyGdxGame.create(MyGdxGame.java:18)
                                                              at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:275)
                                                              at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1519)
                                                              at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
                                                           Caused by: java.lang.ClassNotFoundException: Didn't find class "com.badlogic.gdx.pay.android.ouya.PurchaseManagerAndroidOUYA" on path: DexPathList[[dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-v4-19.0.0_2c98281b299fb0a96dc9b2071dbac422e251edf7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-jsr305-3.0.1_d24a630928783584898f574a885022b1915c436c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-client-0.10.1_67de05c680235c8674569d7c2052096057a1eca1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_cb75023c434bc6bfd9005262d5468ed82f6d69fc-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.1_67498fd476e3910484c18ffe98547d28087df282-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-0.10.1_502154dcb3cc2dadab350c3b6149e026ef1d58dd-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-box2d-1.9.4_78566d4f69ba3f977ebd927104199ccd8e4be4c6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-backend-android-1.9.4_8c5a843f165aaf1c2840a0ead17a2cfcad676f66-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-1.9.4_43039dc86372e67f381f96ec0a7877c4d70a8adb-classes.dex"],nativeLibraryDirectories=[/data/app/com.mygdx.game-2/lib/x86, /data/app/com.mygdx.game-2/base.apk!/lib/x86, /vendor/lib, /system/lib]]
                                                              at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                                                              at com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader.findClass(IncrementalClassLoader.java:90)
                                                              at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
                                                              at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
                                                              at java.lang.Class.classForName(Native Method) 
                                                              at java.lang.Class.forName(Class.java:324) 
                                                              at java.lang.Class.forName(Class.java:285) 
                                                              at com.badlogic.gdx.pay.android.IAP.<init>(IAP.java:125) 
                                                              at com.badlogic.gdx.pay.android.IAP.setup(IAP.java:93) 
                                                              at java.lang.reflect.Method.invoke(Native Method) 
                                                              at com.badlogic.gdx.utils.reflect.Method.invoke(Method.java:108) 
                                                              at com.badlogic.gdx.pay.PurchaseSystem.resolve(PurchaseSystem.java:70) 
                                                              at com.badlogic.gdx.pay.PurchaseSystem.getManager(PurchaseSystem.java:90) 
                                                              at com.badlogic.gdx.pay.PurchaseSystem.hasManager(PurchaseSystem.java:99) 
                                                              at com.mygdx.game.GDXPay.<init>(GDXPay.java:29) 
                                                              at com.mygdx.game.MyGdxGame.create(MyGdxGame.java:18) 
                                                              at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:275) 
                                                              at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1519) 
                                                              at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240) 
                                                            Suppressed: java.lang.ClassNotFoundException: Didn't find class "com.badlogic.gdx.pay.android.ouya.PurchaseManagerAndroidOUYA" on path: DexPathList[[zip file "/data/app/com.mygdx.game-2/base.apk"],nativeLibraryDirectories=
08-25 15:22:45.046 5558-5595/com.mygdx.game I/GdxPay/IAP: IAP: gdx-pay successfully instantiated.
08-25 15:22:45.046 5558-5595/com.mygdx.game I/System.out: PURCHASE SYSTEM HAS MANAGER: com.badlogic.gdx.pay.android.googleplay.AndroidGooglePlayPurchaseManager@56d614a
08-25 15:22:45.069 5558-5595/com.mygdx.game I/System.out:  - error installing purchase manager: com.badlogic.gdx.pay.android.googleplay.GdxPayException: Failed to bind to service
08-25 15:22:45.069 5558-5595/com.mygdx.game W/System.err: com.badlogic.gdx.pay.android.googleplay.GdxPayException: Failed to bind to service
08-25 15:22:45.069 5558-5595/com.mygdx.game W/System.err:     at com.badlogic.gdx.pay.android.googleplay.AndroidGooglePlayPurchaseManager$1.disconnected(AndroidGooglePlayPurchaseManager.java:119)
08-25 15:22:45.069 5558-5595/com.mygdx.game W/System.err:     at com.badlogic.gdx.pay.android.googleplay.billing.V3GoogleInAppBillingService.bindBillingServiceConnectionToActivity(V3GoogleInAppBillingService.java:111)
08-25 15:22:45.069 5558-5595/com.mygdx.game W/System.err:     at com.badlogic.gdx.pay.android.googleplay.billing.V3GoogleInAppBillingService.requestConnect(V3GoogleInAppBillingService.java:105)
08-25 15:22:45.069 5558-5595/com.mygdx.game W/System.err:     at com.badlogic.gdx.pay.android.googleplay.AndroidGooglePlayPurchaseManager.install(AndroidGooglePlayPurchaseManager.java:111)
08-25 15:22:45.069 5558-5595/com.mygdx.game W/System.err:     at com.badlogic.gdx.pay.PurchaseSystem.install(PurchaseSystem.java:122)
08-25 15:22:45.069 5558-5595/com.mygdx.game W/System.err:     at com.badlogic.gdx.pay.PurchaseSystem.install(PurchaseSystem.java:113)
08-25 15:22:45.069 5558-5595/com.mygdx.game W/System.err:     at com.mygdx.game.GDXPay.<init>(GDXPay.java:48)
08-25 15:22:45.069 5558-5595/com.mygdx.game W/System.err:     at com.mygdx.game.MyGdxGame.create(MyGdxGame.java:18)
08-25 15:22:45.069 5558-5595/com.mygdx.game W/System.err:     at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:275)
08-25 15:22:45.069 5558-5595/com.mygdx.game W/System.err:     at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1519)
08-25 15:22:45.069 5558-5595/com.mygdx.game W/System.err:     at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
08-25 15:22:45.069 5558-5595/com.mygdx.game W/System.err: Caused by: com.badlogic.gdx.pay.android.googleplay.GdxPayException: bindService() returns false.
keesvandieren commented 8 years ago

To get it work, you should do the following:

The app should now be installed, nothing more should be needed to get the app on the device. No manual packaging of the apk, and also do not download dependencies manually, as this is error-prone.

Gradle has a feature called 'dependency management'. Using dependency management, external dependencies (e.g. jars) are resolved from 'repositories' on the internet. Some examples of those repositories are https://repo1.maven.org/maven2 and http://jcenter.bintray.com/ . This has many advantages, in particular it also manages 'transitive dependencies' (dependencies of dependencies). More information about this subject is available in the user guide: https://docs.gradle.org/2.14.1/userguide/dependency_management.html

zfreeds commented 8 years ago

I'm using a simulator. I get errors when I try to delete anything pertaining to eclipse and when I try to apply patch using the fixes-gdx-sample-project.txt, I am told the "file to patch found outside content root:". I removed html btw so I unclicked that option and got the same error for a different file. Even when I do fix this in the sample project, do I use this patch for my real project?

zfreeds commented 8 years ago

I got the patch to apply after registering the VCS root. Most errors went away but I still have: Failed to locate purchase manager for OUYA-IAP (gdx-pay-android-ouya.jar file not installed) java.lang.ClassNotFoundException: com.badlogic.gdx.pay.android.ouya.PurchaseManagerAndroidOUYA at java.lang.Class.classForName(Native Method) at java.lang.Class.forName(Class.java:324) at java.lang.Class.forName(Class.java:285) at com.badlogic.gdx.pay.android.IAP.<init>(IAP.java:125) at com.badlogic.gdx.pay.android.IAP.setup(IAP.java:93) at java.lang.reflect.Method.invoke(Native Method) at com.badlogic.gdx.utils.reflect.Method.invoke(Method.java:108) at com.badlogic.gdx.pay.PurchaseSystem.resolve(PurchaseSystem.java:70) at com.badlogic.gdx.pay.PurchaseSystem.getManager(PurchaseSystem.java:90) at com.badlogic.gdx.pay.PurchaseSystem.hasManager(PurchaseSystem.java:99) at com.mygdx.game.GDXPay.<init>(GDXPay.java:29) at com.mygdx.game.MyGdxGame.create(MyGdxGame.java:18) at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:275) at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1519) at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.badlogic.gdx.pay.android.ouya.PurchaseManagerAndroidOUYA" on path: DexPathList[[dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-support-v4-19.0.0_2c98281b299fb0a96dc9b2071dbac422e251edf7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-jsr305-3.0.1_d24a630928783584898f574a885022b1915c436c-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-client-0.10.1_67de05c680235c8674569d7c2052096057a1eca1-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-googleplay-0.10.1_cb75023c434bc6bfd9005262d5468ed82f6d69fc-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-android-0.10.1_67498fd476e3910484c18ffe98547d28087df282-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-pay-0.10.1_502154dcb3cc2dadab350c3b6149e026ef1d58dd-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-box2d-1.9.4_78566d4f69ba3f977ebd927104199ccd8e4be4c6-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-backend-android-1.9.4_8c5a843f165aaf1c2840a0ead17a2cfcad676f66-classes.dex", dex file "/data/data/com.mygdx.game/files/instant-run/dex/slice-gdx-1.9.4_43039dc86372e67f381f96ec0a7877c4d70a8adb-classes.dex"],nativeLibraryDirectories=[/data/app/com.mygdx.game-1/lib/x86, /data/app/com.mygdx.game-1/base.apk!/lib/x86, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader.findClass(IncrementalClassLoader.java:90) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at java.lang.Class.classForName(Native Method)  at java.lang.Class.forName(Class.java:324)  at java.lang.Class.forName(Class.java:285)  at com.badlogic.gdx.pay.android.IAP.<init>(IAP.java:125)  at com.badlogic.gdx.pay.android.IAP.setup(IAP.java:93)  at java.lang.reflect.Method.invoke(Native Method)  at com.badlogic.gdx.utils.reflect.Method.invoke(Method.java:108)  at com.badlogic.gdx.pay.PurchaseSystem.resolve(PurchaseSystem.java:70)  at com.badlogic.gdx.pay.PurchaseSystem.getManager(PurchaseSystem.java:90)  at com.badlogic.gdx.pay.PurchaseSystem.hasManager(PurchaseSystem.java:99)  at com.mygdx.game.GDXPay.<init>(GDXPay.java:29)  at com.mygdx.game.MyGdxGame.create(MyGdxGame.java:18)  at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:275)  at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1519)  at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)  Suppressed: java.lang.ClassNotFoundException: Didn't find class "com.badlogic.gdx.pay.android.ouya.PurchaseManagerAndroidOUYA" on path: DexPathList[[zip file "/data/app/com.mygdx.game-1/base.apk"],nativeLibraryDirectories= 08-25 19:46:11.525 2641-2746/com.mygdx.game I/GdxPay/IAP: IAP: gdx-pay successfully instantiated. 08-25 19:46:11.525 2641-2746/com.mygdx.game I/System.out: PURCHASE SYSTEM HAS MANAGER: com.badlogic.gdx.pay.android.googleplay.AndroidGooglePlayPurchaseManager@f73227d 08-25 19:46:11.628 2641-2746/com.mygdx.game I/System.out: - error installing purchase manager: com.badlogic.gdx.pay.android.googleplay.GdxPayException: Failed to bind to service 08-25 19:46:11.628 2641-2746/com.mygdx.game W/System.err: com.badlogic.gdx.pay.android.googleplay.GdxPayException: Failed to bind to service 08-25 19:46:11.628 2641-2746/com.mygdx.game W/System.err: at com.badlogic.gdx.pay.android.googleplay.AndroidGooglePlayPurchaseManager$1.disconnected(AndroidGooglePlayPurchaseManager.java:119) 08-25 19:46:11.629 2641-2746/com.mygdx.game W/System.err: at com.badlogic.gdx.pay.android.googleplay.billing.V3GoogleInAppBillingService.bindBillingServiceConnectionToActivity(V3GoogleInAppBillingService.java:111) 08-25 19:46:11.629 2641-2746/com.mygdx.game W/System.err: at com.badlogic.gdx.pay.android.googleplay.billing.V3GoogleInAppBillingService.requestConnect(V3GoogleInAppBillingService.java:105) 08-25 19:46:11.629 2641-2746/com.mygdx.game W/System.err: at com.badlogic.gdx.pay.android.googleplay.AndroidGooglePlayPurchaseManager.install(AndroidGooglePlayPurchaseManager.java:111) 08-25 19:46:11.629 2641-2746/com.mygdx.game W/System.err: at com.badlogic.gdx.pay.PurchaseSystem.install(PurchaseSystem.java:122) 08-25 19:46:11.629 2641-2746/com.mygdx.game W/System.err: at com.badlogic.gdx.pay.PurchaseSystem.install(PurchaseSystem.java:113) 08-25 19:46:11.629 2641-2746/com.mygdx.game W/System.err: at com.mygdx.game.GDXPay.<init>(GDXPay.java:48) 08-25 19:46:11.629 2641-2746/com.mygdx.game W/System.err: at com.mygdx.game.MyGdxGame.create(MyGdxGame.java:18) 08-25 19:46:11.629 2641-2746/com.mygdx.game W/System.err: at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:275) 08-25 19:46:11.629 2641-2746/com.mygdx.game W/System.err: at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1519) 08-25 19:46:11.629 2641-2746/com.mygdx.game W/System.err: at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240) 08-25 19:46:11.629 2641-2746/com.mygdx.game W/System.err: Caused by: com.badlogic.gdx.pay.android.googleplay.GdxPayException: bindService() returns false. 08-25 19:46:11.629 2641-2746/com.mygdx.game W/System.err: ... 10 more

zfreeds commented 8 years ago

So I added the ouya jar back in and almost all errors went away. I am finally back at the error, "Failed to bind to service"!!!

keesvandieren commented 8 years ago

In app billing cannot be tested on a simulator.

https://developer.android.com/google/play/billing/billing_testing.html says.

zfreeds commented 8 years ago

Ok, I feel really stupid now. Thank you for your time and thank you for helping me with grade dependencies.

keesvandieren commented 8 years ago

No problem. Did it work on the phone? Hope you learned something. Maybe with your new skills you can contribute something back to gdx-pay :)

zfreeds commented 8 years ago

Yes it did. My summers almost over but maybe next time i have time i will. Where would i even start to help with an open source project like this?

keesvandieren commented 8 years ago

By solving open issues, improving documentation, etc.