bunq / sdk_java

Java SDK for bunq API
MIT License
47 stars 23 forks source link

Java 7 compatibility: java.util.Base64 #104

Closed maxdaniel98 closed 6 years ago

maxdaniel98 commented 6 years ago

Steps to reproduce:

  1. Compile and run SDK on Java 7 or with Android SDK 25

What should happen:

  1. It should run without any errors.

What happens:

  1. Java throws java.lang.NoClassDefFoundError; Caused by: java.lang.ClassNotFoundException: Didn't find class "java.util.Base64"

Traceback

06-19 17:28:56.503 3509-3527/? E/AndroidRuntime: FATAL EXCEPTION: Thread-4 Process: nl.maxvdbosch.bunqwatch, PID: 3509 java.lang.NoClassDefFoundError: Failed resolution of: Ljava/util/Base64; at com.bunq.sdk.security.SecurityUtils.getPublicKeyFormattedString(SecurityUtils.java:272) at com.bunq.sdk.context.ApiContext.initializeInstallation(ApiContext.java:175) at com.bunq.sdk.context.ApiContext.initialize(ApiContext.java:163) at com.bunq.sdk.context.ApiContext.create(ApiContext.java:127) at com.bunq.sdk.context.ApiContext.create(ApiContext.java:109) at com.bunq.sdk.context.ApiContext.create(ApiContext.java:101) at nl.maxvdbosch.bunqwatch.MainActivity.initBunqSdk(MainActivity.java:80) at nl.maxvdbosch.bunqwatch.MainActivity.lambda$onCreate$0$MainActivity(MainActivity.java:48) at nl.maxvdbosch.bunqwatch.MainActivity$$Lambda$0.run(Unknown Source) at java.lang.Thread.run(Thread.java:761) Caused by: java.lang.ClassNotFoundException: Didn't find class "java.util.Base64" on path: DexPathList[[zip file "/system/framework/com.google.android.wearable.jar", zip file "/data/app/nl.maxvdbosch.bunqwatch-1/base.apk", zip file "/data/app/nl.maxvdbosch.bunqwatch-1/split_lib_dependencies_apk.apk", zip file "/data/app/nl.maxvdbosch.bunqwatch-1/split_lib_slice_0_apk.apk", zip file "/data/app/nl.maxvdbosch.bunqwatch-1/split_lib_slice_1_apk.apk", zip file "/data/app/nl.maxvdbosch.bunqwatch-1/split_lib_slice_2_apk.apk", zip file "/data/app/nl.maxvdbosch.bunqwatch-1/split_lib_slice_3_apk.apk", zip file "/data/app/nl.maxvdbosch.bunqwatch-1/split_lib_slice_4_apk.apk", zip file "/data/app/nl.maxvdbosch.bunqwatch-1/split_lib_slice_5_apk.apk", zip file "/data/app/nl.maxvdbosch.bunqwatch-1/split_lib_slice_6_apk.apk", zip file "/data/app/nl.maxvdbosch.bunqwatch-1/split_lib_slice_7_apk.apk", zip file "/data/app/nl.maxvdbosch.bunqwatch-1/split_lib_slice_8_apk.apk", zip file "/data/app/nl.maxvdbosch.bunqwatch-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/nl.maxvdbosch.bunqwatch-1/lib/x86, /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.bunq.sdk.security.SecurityUtils.getPublicKeyFormattedString(SecurityUtils.java:272)  at com.bunq.sdk.context.ApiContext.initializeInstallation(ApiContext.java:175)  at com.bunq.sdk.context.ApiContext.initialize(ApiContext.java:163)  at com.bunq.sdk.context.ApiContext.create(ApiContext.java:127)  at com.bunq.sdk.context.ApiContext.create(ApiContext.java:109)  at com.bunq.sdk.context.ApiContext.create(ApiContext.java:101)  at nl.maxvdbosch.bunqwatch.MainActivity.initBunqSdk(MainActivity.java:80)  at nl.maxvdbosch.bunqwatch.MainActivity.lambda$onCreate$0$MainActivity(MainActivity.java:48)  at nl.maxvdbosch.bunqwatch.MainActivity$$Lambda$0.run(Unknown Source)  at java.lang.Thread.run(Thread.java:761) 

SDK version and environment

Response id

Extra info:

tubbynl commented 6 years ago

duplicate to #42 , but it is work-in-progres

@OGKevin

I've already started working on this, feel free to finish it however. You can do this by creating your own branch as child of my branch which is https://github.com/bunq/sdk_java/compare/add_java_7_support_bunq/sdk_java%2342 and then create a PR that merges into my branch. Afterwards this gets merged in develop.