您的位置:首页 > 移动开发 > Android开发

Android中使用sun.misc.BASE64Encoder 遇到的问题

2015-02-11 10:52 351 查看
最近在写一个个推推送的Demo  在官网提供的例子里面有个是通过Java代码推送消息给手机。

在官网的例子中使用了sun.misc.BASE64Encoder ,

    我把这个例子在普通的Java文件试验了下没有问题,于是想集成到我的Android Demo 中试验一下,但是一运行 就报错了。

错误内容是 java.long.NoClassDefFoundError: sun.misc.BASE64Encoder

sun.misc.BASE64Encoder 是JDK里面的类 正常情况下是应该是不会找不到的啊! 

然后在网上查了一下有很多种解决办法,一个个都试了一下,结果都没有成功····(你们可以去搜一下 说不定你的就能成功呢) 

  后来看到有个人说是因为Android的JDK里面没有 BASE64Encoder
这个类,我用的是JDK7 的 不知道有没有影响。

 然后我就想到既然没有这个类 我可以找它的源码 把这几个Java文件 按照包路径放到对应位置(我的状况是封装Jar包里面调用了BASE64Encoder
这个类,所以包路径不能变,如果你是单纯自己调用,包就无所谓了)     运行一下成功了,  接下来把几个文件打包成Jar 试了一下  也是可行的

这里记录一下 以便自己回顾  也和大家分享,让大家多一种对这个问题的解决方法

下面是下载地址 (里面多了几个文件,具体干嘛用我也不太清楚 不过找源码的时候放在一起的 就一起打包了)

下载源码及Jar包
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息