Commons Codec Library Issue Android Studio



我是Android开发的新手,我使用的是Gradle 1.12版本的Android Studio 0.8.9。我想使用Commons编解码器库,特别是Base64类来调用方法

 encodeBase64URLSafe

我下载了最新的commons-codec-1.9.jar文件,将其添加到Android Studio中创建的"libs"文件夹中,然后在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

我不知道发生了什么。我相信这与安卓工作室不知道我添加的commons代码jar库的路径有关。然而,它编译时没有任何问题。

如果有人能提供任何见解,我们将不胜感激。

谢谢!

Base64#encodeBase64URLSafe方法添加在Commons Code library的1.4版本中。Android运行时将始终使用该类的1.3版本,其中不包括此方法,因此出现NoSuchMethodError异常。

对此的解决方案是重新打包Commons Codec库
在这里查看我的答案,其中包括解决此问题的步骤。

相关内容

最新更新