SweetzpotAS / StravaZpot-Android

A fluent API to integrate with Strava on Android apps
70 stars 35 forks source link

dependencies aren't downloading in version 1.3.1 #20

Open benjinne opened 5 years ago

benjinne commented 5 years ago

When trying to obtain a Token using the example code in version 1.3.1

AuthenticationConfig config = AuthenticationConfig.create()
                                                  .debug()
                                                  .build();
AuthenticationAPI api = new AuthenticationAPI(config);
LoginResult result = api.getTokenForApp(AppCredentials.with(CLIENT_ID, CLIENT_SECRET))
                        .withCode(CODE)
                        .execute();

the retrofit and okhttp dependencies are not found and several classNotFoundExceptions are thrown.

such as:

E/AndroidRuntime: FATAL EXCEPTION: Thread-6
                  Process: bentest.com.strava_upload_andriod, PID: 12124
                  java.lang.NoClassDefFoundError: Failed resolution of: [Lokhttp3/Interceptor;
                      at com.sweetzpot.stravazpot.common.api.AuthenticationConfig$Builder.build(AuthenticationConfig.java:32)
                      at bentest.com.strava_upload_andriod.AuthThread.run(AuthThread.java:21)
                   Caused by: java.lang.ClassNotFoundException: Didn't find class "okhttp3.Interceptor" on path: DexPathList[[zip file "/data/app/bentest.com.strava_upload_andriod-2/base.apk", zip file "/data/app/bentest.com.strava_upload_andriod-2/split_lib_dependencies_apk.apk", zip file "/data/app/bentest.com.strava_upload_andriod-2/split_lib_slice_0_apk.apk", zip file "/data/app/bentest.com.strava_upload_andriod-2/split_lib_slice_1_apk.apk", zip file "/data/app/bentest.com.strava_upload_andriod-2/split_lib_slice_2_apk.apk", zip file "/data/app/bentest.com.strava_upload_andriod-2/split_lib_slice_3_apk.apk", zip file "/data/app/bentest.com.strava_upload_andriod-2/split_lib_slice_4_apk.apk", zip file "/data/app/bentest.com.strava_upload_andriod-2/split_lib_slice_5_apk.apk", zip file "/data/app/bentest.com.strava_upload_andriod-2/split_lib_slice_6_apk.apk", zip file "/data/app/bentest.com.strava_upload_andriod-2/split_lib_slice_7_apk.apk", zip file "/data/app/bentest.com.strava_upload_andriod-2/split_lib_slice_8_apk.apk", zip file "/data/app/bentest.com.strava_upload_andriod-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/bentest.com.strava_upload_andriod-2/lib/arm, /system/lib, /vendor/lib]]
                      at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                      at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
                      at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
                      at com.sweetzpot.stravazpot.common.api.AuthenticationConfig$Builder.build(AuthenticationConfig.java:32) 
                      at bentest.com.strava_upload_andriod.AuthThread.run(AuthThread.java:21) 
E/chromium: [ERROR:gl_context_virtual.cc(39)] Trying to make virtual context current without decoder.

However, this issue doesn't exist in version 1.3

I think this might have something to do with changing compile to 'implementation' instead of 'api'

benjinne commented 5 years ago

Here's my full stacktrace https://gist.github.com/benjinne/f7f28dd87489bdf9906b856601e18f5e

oebb commented 5 years ago

Having the same issue - had to downgrade to 1.3