2014-09-19 88 views
0

我是Android开发新手,我使用Android Studio 0.8.9和Gradle版本1.12。 我想使用共享编解码器库,特别是Base64编码类调用方法Commons Codec Library问题Android Studio

encodeBase64URLSafe 
Android中

我有下载最新的公地编解码器1.9.jar文件,将其加入到创建“库”文件夹Studio和随后的build.gradle中,我增加了以下内容:

dependencies { 
compile 'com.android.support:support-v4:+' 
compile files('libs/commons-codec-1.9.jar') 
compile files('libs/guava-18.0.jar') 
} 

当我运行我的代码,应用程序崩溃,并且我收到以下错误消息:

java.lang.NoSuchMethodError: Lorg/apache/commons/codec/binary/Base64;.encodeBase64URLSafe 

我不知道发生了什么事。我相信这与Android Studio不知道我添加的commons-code jar库的路径有关。但是,它编译没有任何问题。

如果任何人都可以提供任何见解,它将真正被赞赏。

谢谢!在共享代码库1.4版加入

+0

看看这个SO线程:http://stackoverflow.com/questions/2047706/apache-commons-codec-with-android-could-not-find-method – alpinescrambler 2014-09-19 21:38:24

+0

@alpinescrambler它没有帮助我解决我的问题,它提出了一个解决方法。我需要这种方法。不管怎么说,还是要谢谢你! – Teddy13 2014-09-20 03:47:47

回答

0

Base64#encodeBase64URLSafe方法。 Android运行时将始终使用此类的1.3版本,该版本不包含此方法 - 因此是NoSuchMethodError异常。

解决方法是重新打包Commons Codec库。
查看我的回答here,其中包括解决此问题的步骤。