安卓:No static method decodeBase64,commen-code包里报错的信息
安卓:No static method decodeBase64
造成主要原因
1.导入的commons-codec的jar包与项目里的第三方sdk(比如微信和qq第三方登陆重复)
2.安卓framework里也含有此jar包,这是最主要原因,也是我项目中的报错原因
调用代码
X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(Base64.decodeBase64(publicKey));
我项目里还导入了commons-io的jar包用于与服务器进行密码的加解密,publickey是解密后获取的公钥,用于加密密码,关键报错的是这句代码中的Base64.decodeBase64(publickey)
错误
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)
没有这个静态方法,但是编译能过,不报错。真机运行就报错,原因上面已经说明了,安卓在framework里的httpclient里也有相同的包,而且不包括这个静态方法,而且这个版本相当古老,并且覆盖了自己导入的版本,所以报错。
解决方法
之前自己搜索的资料里基本是用安卓的Base64来代替解决问题,但是每个人写的项目业务逻辑是不同的,比如我项目中的加解密是不能用安卓的Base64来完成的,还有的解决方法是修改common-codec jar里包的包名和目录结构,这个过程比较繁琐但是可行,包名不一样谈何覆盖。下面我来提供一个最简单的方法。
报错方法是commons-codec里的Base64类中的decodeBase64方法,首先编译能通过这个类肯定是没问题的。将这个类直接copy到自己工程下,还有它的父类,为了区分可以改类名也可以不改,现在包的路径不一样了,不会被覆盖,自然也没有这个问题了,然后在把之前用的Base64替换为自己工程下的,所有问题都没有了。
安卓:No static method decodeBase64,commen-code包里报错的信息相关推荐
- 关于jar包运行报错:Exception in thread “main“ java.lang.UnsupportedClassVersionError的解决办法
打包jar包后 ,在jar路径下cmd使用命令 java -jar jar包名字 报错: Exception in thread "main" java.lang.Unsuppo ...
- 安装fastDFS的依赖包fdfs_client报错解决方法
安装fastDFS的依赖包fdfs_client报错解决方法 参考文章: (1)安装fastDFS的依赖包fdfs_client报错解决方法 (2)https://www.cnblogs.com/Se ...
- The package javax.swing is not accessible(java GUI 编程时引用swing包和awt包时会报错怎么办)
Java GUI 编程时引用swing包和awt包时会报错怎么办 一.环境与错误现象 使用的编译器为eclipse,情况为: 二.解决方法 问题主要是由工程中的module-info.java这个文件 ...
- R安装WGCNA包(MacOS M1芯片)及impute包安装报错的解决方法【已成功】
R安装WGCNA包(MacOS M1芯片) WGCNA R安装WGCNA包 安装impute时的错误 impute包安装报错的解决方法 WGCNA 加权基因共表达网络分析 (WGCNA, Weight ...
- 包引入报错 ImportError: cannot import name ‘best_partition‘ from ‘community‘
目录 一.问题描述 二.解决方法 一.问题描述 在 Python 代码中引入包:from community import best_partition 时报错: ImportError: canno ...
- 关于com.lowagie.text包的报错问题
关于com.lowagie.text包的报错问题 接手了一个maven项目,导入之后发现一直报错 提示我找不到这个包,在右侧的maven projects一栏中找了一下,也确实没有com.lowagi ...
- 导入自己模块包导入报错:ModuleNotFoundError: No module named ‘xxx‘解决方法 晓物智联
导入自己模块包导入报错:ModuleNotFoundError: No module named 'xxx'解决方法 文章来源于:http://www.52phm.cn/blog/detail/28 ...
- pipenv install 包名 报错问题解决
pipenv install 包名 报错问题 == 使用pipenv install requests --dev报异常,特记录解决办法== 1.报错截图 下面 报错代码. Installing re ...
- Idea导出jar包运行报错:找不到主清单属性解决方法
Idea导出jar包运行报错:找不到主清单属性解决方法 参考文章: (1)Idea导出jar包运行报错:找不到主清单属性解决方法 (2)https://www.cnblogs.com/stars-on ...
最新文章
- css loader.net,* !!vue-style-loader!css-loader?
- 让神经网络给符号AI“打工”,MIT和IBM联合解决深度学习痛点,未来将用于自动驾驶...
- python数据结构推荐书-腾讯十年Python开发老司机推荐的入门书籍,你确定不看吗?...
- 数据流中的第k大元素的golang实现
- 实用计算机技术选修,实用计算机组装与维护选修课学习心得
- Java 设计模式之迭代器模式
- centos 对已有卷扩容_centos LVM扩容 添加磁盘
- 设置网格_500ETF网格设置
- php空数组添加,php 删除空数组
- 典型排序算法(C语言实现)
- 2012最新75款好看的英文字体免费下载【中篇】
- adguard没有核心 core no_新媒体自学宝典(No.24)| 如何借力自媒体平台放大粉丝流量?...
- idea复制web项目没有servlet选项
- MATLAB获取附加功能的方法
- 海豚蓝牙ASIO驱动程序使用说明
- 《论语》全译——子路篇第十三
- 疯狂猜颜色小游戏C++个人项目
- Element UI组件介绍
- python+undetected_chromedriver+chrome绕过五秒盾(cloudflare)
- mac如何升级node版本
热门文章
- Linux基础和命令大全
- 5G建设:作用究竟有多大
- taylor+swift纽约公寓_欧美明星豪宅都有多美,眼见为实!
- Word转PDF出现“错误,未定义书签”
- 09组-选题与需求分析报告
- (JAVA)	相反数
- APS高级计划与排程系统基本概念和功能说明
- 服务器您的网络已被劫持请立即修复,网页被劫持并跳转到发布网络的修复方法...
- NAACL 2021 上的图神经网络好文
- NP管理器 NPManager v3.0.49 安卓APK逆向反编译工具