Android中使用commons-codec-1.6.jar 进行Base64编解码出现的问题

摘要:
NostaticmethodencodeBase64String([B)Ljava/lang/String;oritsuperclasses(声明'org.apache.commons.code.binary.Base64'appearing/system/framework/org.apache.http.llegacy.boot.jar)解码问题:

编码时出现异常:

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而没有用系统的,就出了这个操蛋的问题。我们只要编解码功能,所以直接把这个包删掉就好了。

Android中使用commons-codec-1.6.jar 进行Base64编解码出现的问题第1张

最后完美运行!开森。我的目录结构为:

Android中使用commons-codec-1.6.jar 进行Base64编解码出现的问题第2张

=========================》

上面如果访问不了,可以访问  commons-codec-1.6-bin.zip

免责声明:文章转载自《Android中使用commons-codec-1.6.jar 进行Base64编解码出现的问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇子串匹配算法安卓基础之国际化下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

oracle中监听程序当前无法识别连接描述符中请求服务 的解决方法

原因如下: 你oracle安装成功后,一直未停止数据库(即数据库是启动的),客户端配置成功后,应该一直不会有什么问题。 而一旦你和我同事一样,有时把Oracle安装在虚拟机中,而且Oracle安装完毕后,没在进行任何监听的配置,则虚拟机再启动,则就会出现ORA-12514的问题。如下图       如下是解决思路: 根据出错信息判断出客户端未监听...

intel英特尔NUC主机bug大清除案例

如果你的NUC进入HDMI无法在显示器显示,可以参考此文章的思路,尝试排除各种问题。接下来我讲述一下我的NUCbug清除历程。 我的NUC激动时刻 我的NUC是这个型号,直接上图了:英特尔(Intel)NUC10i5FNH6 NUC迷你电脑主机 没有内存没有硬盘的 这个NUC刚买回来,自信心满满,结果在同事面前翻车了,在HDMI 转VGA不显示,换了转...

java.net.URISyntaxException的解决办法

近日在用HttpClient访问抓取汇率时,为了省力,直接采用 String url = "http://api.liqwei.com/currency/?exchange=usd|cny&count=1"; HttpClient client = new DefaultHttpClient(); HttpGet httpget = new Htt...

Linux基础知识学习:Linux下修改文件名或修改文件夹名称(有待解决问题)

Linux下修改文件名或修改文件夹名称 1、修改文件夹名称 1.1我先创建一个test文件夹用来测试 mkdir test 1.2用 mv 命令 将文件移动,目标地址如果加 / 就 代表文件夹,如果没有 / 就会重新命名 例: mv test Test 表示文件重命名 mv test /Test/ 将test移动到根目录的Test文件夹下 在练...

解决VMwareworkstation无法在windows上运行

步骤 1.在我的电脑上搜索控制面板   2.打开控制面板 3.点击程序 4.点程序和功能 5.点击已安装更新 6.找到最上面的一次微软更新,然后将最新的微软更新更新卸载。 7.重启后就能用了 说白了,就是最后一句话! 图示: 但是,这只能解决一时的问题,电脑终究要更新的,还有一种方法直接到官方下载新版本,里面的东西不会变的...

Ubuntu 16.04 安装 python3.8

Ubuntu 16.04  amd64 (64bit)(纯净版) 自带python2.7和python3.5 执行"whereis python"查看当前安装的python [root@root ~]# whereis python python: /usr/bin/python2.7 /usr/bin/python /usr/lib/python2.7...