我想製作一個應用程序,可以在包括android在內的多個平臺上工作。我遇到的問題是,在計算機上運行我sun.misc.BASE64Decoder
工程上的應用程序:Java 7平臺獨立的Base64?
BASE64Decoder decoder = new BASE64Decoder();
byte[] data = decoder.decodeBuffer(is);
它不是一個Android設備上運行:
E/AndroidRuntime(18172): java.lang.NoClassDefFoundError: Failed resolution of: Lsun/misc/BASE64Decoder;
E/AndroidRuntime(18172): at com.company.app.backend.SomeClass$1.run(SomeClass.java:55)
E/AndroidRuntime(18172): at java.lang.Thread.run(Thread.java:818)
E/AndroidRuntime(18172): Caused by: java.lang.ClassNotFoundException: Didn't find class "sun.misc.BASE64Decoder" on path: DexPathList[[zip file "/data/app/com.company.app-1/base.apk"],nativeLibraryDirectories=[/data/app/com.company.app-1/lib/arm, /vendor/lib, /system/lib]]
E/AndroidRuntime(18172): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
E/AndroidRuntime(18172): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
E/AndroidRuntime(18172): at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
E/AndroidRuntime(18172): ... 2 more
E/AndroidRuntime(18172): Suppressed: java.lang.ClassNotFoundException: sun.misc.BASE64Decoder
E/AndroidRuntime(18172): at java.lang.Class.classForName(Native Method)
E/AndroidRuntime(18172): at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
E/AndroidRuntime(18172): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
E/AndroidRuntime(18172): at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
E/AndroidRuntime(18172): ... 3 more
E/AndroidRuntime(18172): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
可惜我不能使用Java 8的java.util.Base64
因爲我不能使用Java 8.我也不能使用android.util.Base64
,因爲它不能在android之外工作。
我會很感激任何幫助。
您可以使用[iharder base64庫](http://iharder.sourceforge.net/current/java/base64/)。 – SubOptimal
我會檢查出來的 – serge