我是Android开发的新手,我使用的是Android Studio 0.8.9和Gradle版本1.12。我想使用Commons Codec Library,特别是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我不知道发生了什么。我相信这与Android Studio不知道commons-code jar库的路径有关,我补充道。但是,它在编译时没有任何问题。
如果有人能提供任何见解,我将不胜感激。
谢谢!
发布于 2015-04-25 17:44:33
Base64#encodeBase64URLSafe方法是在公共代码库的1.4版中添加的。Android运行时将始终使用这个类的1.3版,其中不包含此方法-因此出现了NoSuchMethodError异常。
这个问题的解决方案是重新打包Commons Codec库。
请查看my answer here,其中包含解决此问题的步骤。
https://stackoverflow.com/questions/25942575
复制相似问题