android无法使用DigestUtils类,找不到有关的类包问题
先说原因:原因是Android API中也有同名包名和类名,根据java加载机制–找到目的类就加载使用,但是Android API中没有这个方法,所以就报错了。类似的问题还有 json api 等等。
解决的办法:
1.自己在apache官网上下载commons-codec的源码,然后自己打包成jar。引入到android项目中。这里是官网源码下载的地址:https://commons.apache.org/proper/commons-codec/download_codec.cgi
找到下载后我这里是用的IDEA intelliJ来打包的,打包方法如下:
打开IDEA后找到源码文件并打开后找到file的project Structure
找到artifact点击+号
然后找到JAR选项
在Main Class中点击旁边的文件夹选项后选择org.apache.commons.codec.cli.Digest后点击ok
然后再build中找到build artifact
build后再rebuild一下project,任然是在build中找到rebuild project。就会在项目中出现out目录,找到打开会看到已经生成的jar文件,再把该文件复制到AS中的lib中。然后邮件这个jar,会出现add as library。点击后就可以用了。
另外在AS中使用的代码觉有不同。应该这么写
就可以实现加密了。