androidgradleexacttarget

NoClassDefFoundError: com.exacttarget.etpushsdk.ETLocationManager$RegionMonitor


I'm receiving a weird problem and I don't know if is a Android related or SDK related. The thing is, I'm following the instructions to add ExactTarget Journey Builder SDK (https://github.com/ExactTarget/JB4A-SDK-Android/) , instructions from here: https://code.exacttarget.com/apis-sdks/journey-builder-for-apps/sdk-implementation/register-your-devices.html

BUT, when I enabled the LocationService, I'm receiving this weird error:

java.lang.RuntimeException: An error occured while executing doInBackground()
            at android.os.AsyncTask$3.done(AsyncTask.java:300)
            at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
            at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
            at java.util.concurrent.FutureTask.run(FutureTask.java:242)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
            at java.lang.Thread.run(Thread.java:818)
     Caused by: java.lang.NoClassDefFoundError: com.exacttarget.etpushsdk.ETLocationManager$RegionMonitor
            at com.exacttarget.etpushsdk.ETLocationManager.<init>(ETLocationManager.java:177)
            at com.exacttarget.etpushsdk.ETLocationManager.readyAimFire(ETLocationManager.java:216)
            at com.exacttarget.etpushsdk.ETPush$1.doInBackground(ETPush.java:215)
            at com.exacttarget.etpushsdk.ETPush$1.doInBackground(ETPush.java:187)
            at android.os.AsyncTask$2.call(AsyncTask.java:288)
            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
            at java.lang.Thread.run(Thread.java:818)

What could be? I'm using Android studio and all the dependencies like the instructions.


Solution

  • Roll back play-services version, next change solved issue for me.

    build.gradle
    
        ...
        dependencies {
        ...
        //  use old instead of new because ET location service does not work on new one
        //  compile 'com.google.android.gms:play-services:7.5.0'
            compile 'com.google.android.gms:play-services:6.1.71'
        }