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

 

转载于:https://www.cnblogs.com/jooy/p/9146527.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值