对对Android里面Base64这个工具类,它是在SDK2.2以后被引入的,
因此把app运行在2.1的系统中,会出错:
01-06 16:24:12.371: E/AndroidRuntime(254): Caused by: java.lang.NoClassDefFoundError: android.util.Base64
01-06 16:24:12.371: E/AndroidRuntime(254): at com.xxxx.myapp.http.HttpCommunicateClient.sendSignatureImage(HttpCommunicateClient.java:209)
01-06 16:24:12.371: E/AndroidRuntime(254): at com.xxxx.myapp.activity.SignatureActivity$SendSignatureTask.doInBackground(SignatureActivity.java:286)
01-06 16:24:12.371: E/AndroidRuntime(254): at com.xxxx.myapp.activity.SignatureActivity$SendSignatureTask.doInBackground(SignatureActivity.java:1)
01-06 16:24:12.371: E/AndroidRuntime(254): at android.os.AsyncTask$2.call(AsyncTask.java:185)
01-06 16:24:12.371: E/AndroidRuntime(254): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
01-06 16:24:12.371: E/AndroidRuntime(254): ... 4 more
如何解决呢,只能自己写自己的Base64工具类的实现啦:
最简单的解决方法:直接把Base64这个类的源代码放到 本项目目录下。引用自己的Base64!编译时使用最低支持的sdk版本来编译!
本文详细介绍了当Android应用在运行于2.1系统时,由于Base64类未被引入而引发的NoClassDefFoundError错误。并提供了将Base64类源代码直接加入项目目录、调整最低支持SDK版本等两种解决方案,以避免此类错误的发生。
5615

被折叠的 条评论
为什么被折叠?



