Android中使用commons-codec-1.6.jar 进行Base64编解码出现的问题
Posted 风之旅人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中使用commons-codec-1.6.jar 进行Base64编解码出现的问题相关的知识,希望对你有一定的参考价值。
编码时出现异常:
java.lang.NoSuchMethodError: No static method encodeBase64String([B)Ljava/lang/String; 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)
解码问题:
java.lang.NoSuchMethodError: No static method decodeBase64(Ljava/lang/String;)[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)
通过分析日志,发现由于android系统的Framework层也用了apache的commons-codec这个包,和我在lib中引入的包冲突了。。。
解决方式:从 http://archive.apache.org/dist/commons/codec/binaries/ 下载于后台人员版本相同的版本的包的源码包,直接把源码直接拿来用。别忘了改了包名!
费了半天劲重新导包,发现还是不能用,Language.java抛出来的问题,Application启动时候找到了我们的这个Language而没有用系统的,就出了这个操蛋的问题。我们只要编解码功能,所以直接把这个包删掉就好了。
最后完美运行!开森。我的目录结构为:
=========================》
上面如果访问不了,可以访问 commons-codec-1.6-bin.zip
以上是关于Android中使用commons-codec-1.6.jar 进行Base64编解码出现的问题的主要内容,如果未能解决你的问题,请参考以下文章
IDEA加密算法(含所需jar包(commons-codec-1.11.jar ,bcprov-jdk15on-160.jar))