【Android】报错NoSuchMethodError: No static method encodeHexString的解决方案

问题

安卓项目,使用的IDE是android studio.

引入了库 commons-codec-1.7.jar

调用代码

Hex.encodeHexString( mac.doFinal( postData.getBytes( "UTF-8" ) ) )

编译报错,报错如下

java.lang.NoSuchMethodError: No static method encodeHexString([B)Ljava/lang/String; in class Lorg/apache/commons/codec/binary/Hex; or its super classes (declaration of 'org.apache.commons.codec.binary.Hex' appears in /system/framework/org.apache.http.legacy.boot.jar)

解决方法

首先担心是版本问题,所以更新了版本。

官网地址 http://commons.apache.org/proper/commons-codec/download_codec.cgi ,下载文件后解压找到 commons-codec-1.11.jar

更新后,问题没有解决。。。。。

经过查资料,将代码改成下面的

new String(Hex.encodeHex( mac.doFinal( postData.getBytes( "UTF-8" ) ) ))

问题解决~

参考资料

  • https://qiita.com/komitake/items/375863848e2534d29a87

你可能感兴趣的:(#,团队开发那些事儿,#,Java&Android)