uservoice/uservoice-android-sdk

Getting NoSuchMethodError when calling OAuthMessageSigner.sign()

Opened this issue · 1 comments

http://crashes.to/s/2f3db1501a5

Fatal Exception: java.lang.RuntimeException: An error occurred while executing doInBackground()
       at android.os.AsyncTask$3.done(AsyncTask.java:321)
       at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
       at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
       at java.util.concurrent.FutureTask.run(FutureTask.java:242)
       at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:246)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
       at java.lang.Thread.run(Thread.java:833)
Caused by java.lang.NoSuchMethodError: No virtual method a([B)[B in class Lorg/apache/commons/codec/binary/Base64; or its super classes (declaration of 'org.apache.commons.codec.binary.Base64' appears in /system/framework/org.apache.http.legacy.boot.jar)
       at oauth.signpost.signature.OAuthMessageSigner.sign(SourceFile:66)
       at oauth.signpost.signature.HmacSha1MessageSigner.sign(SourceFile:55)
       at oauth.signpost.AbstractOAuthConsumer.sign(SourceFile:109)
       at oauth.signpost.AbstractOAuthConsumer.sign(SourceFile:120)
       at com.uservoice.uservoicesdk.rest.RestTask.doInBackground(SourceFile:54)
       at com.uservoice.uservoicesdk.rest.RestTask.doInBackground(SourceFile:26)
       at android.os.AsyncTask$2.call(AsyncTask.java:307)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:246)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
       at java.lang.Thread.run(Thread.java:833)

compile uservoice:1.2.6 { exclude module: 'commons-codec' }

works for me

Looks like commons-codec from oauth.signpost.signature clashes with build in classes