报错原因
Base64这个类来自于apache的commons-codec库
AndroidFramework中自带了一份commons-codec库,因此会覆盖我们自己引用的库
AndroidFramework中自带的commons-codec库恰好没有encodeBase64String这个方法,所以调用就会报错
解决方法
自己从apache官网下载一份源代码,修改包名后,重新编译为jar包进行使用即可
这里已经提供了一份现成的jar包,直接导入项目使用即可
注意,定制版的jar包,将包名中的apache修改为了apaches
protected String base64(String origin) {
String encoded = Base64.encodeBase64String(origin.getBytes(StandardCharsets.UTF_8));
return encoded;
}
protected String base64(byte[] origin) {
String encoded = Base64.encodeBase64String(origin);
return encoded;
}
下载链接
commons-codec-android-1.15.jar