1. 程式人生 > >Android中使用sun.misc.BASE64Encoder 遇到的問題

Android中使用sun.misc.BASE64Encoder 遇到的問題

轉自:http://blog.csdn.net/u012017115/article/details/43731533

最近在寫一個個推推送的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 試了一下  也是可行的

這裡記錄一下 以便自己回顧  也和大家分享,讓大家多一種對這個問題的解決方法

下面是下載地址 (裡面多了幾個檔案,具體幹嘛用我也不太清楚 不過找原始碼的時候放在一起的 就一起打包了)

http://download.csdn.net/detail/u012017115/8439669