实际上,我正在开发一个带有加密的 Android 应用程序。当我使用 Base64 进行编码和解码时,我收到一个错误
Java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64String()
在运行时。
我知道 Stackflow 上有一些帖子已经讨论了问题的主要原因 ==> 有不同版本的 commons-codec。
有人可以详细描述如何解决这个问题吗?(到目前为止,我知道有两种解决方案是可行的)。
1) 导入org.apache.commons.codec.binary.Base64
作为客户端命名的包。
2)更新commons-codec的默认库)
目前,我正在使用 adt-bundle-windows-x86-20131030 来开发我的应用程序。下面是一些代码供参考。
import org.apache.commons.codec.binary.Base64;
public static String receiveSetup(String messageFromActivity)
throws Exception {
SecretKey tempKey2 = DES.loadKey();
byte[] test2 = Base64.decodeBase64(messageFromActivity);
byte[] printString = DES.decrypt(test2, tempKey2);
String str = new String(printString, "UTF-8");
return str;
}