Я использую eclipse для разработки приложения для Android. Когда я нажимаю «Выполнить» (зеленый треугольник), приложение работает нормально. Но я включил proguard, и приложение вылетает. Я использую файл proguard-android.txt по умолчанию, который находится в sdk/tools/proguard.
У меня есть jar под названием Software.jar, в котором есть несколько классов. Один из них (данные) является сериализуемым классом.(with serialversionUID=112358L)
. Это (вероятно) та часть, которая вызывает ошибку.
Это журнал ошибок (я не знаю почему, но он отображается желтым цветом как предупреждение):
07-22 15:29:46.429: W/System.err(2051): java.io.InvalidClassException: software.Data; Несовместимый класс (SUID): программное обеспечение. Данные: static final long serialVersionUID = 112358L; но ожидаемое программное обеспечение. Данные: static final long serialVersionUID =-4551990835091843772L; 07-22 15:29:46.433: W/System.err(2051): в java.io.ObjectInputStream.verifyAndInit(ObjectInputStream.java:2380) 07-22 15:29:46.433: W/System.err(2051) : в java.io.ObjectInputStream.readNewClassDesc(ObjectInputStream.java:1662) 07-22 15:29:46.437: W/System.err(2051): в java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:683) 07 -22 15:29:46.437: W/System.err(2051): в java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1803) 07-22 15:29:46.441: W/System.err(2051): в java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787) 07-22 15:29:46.441: W/System.err(2051): в java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003) 07- 22 15:29:46.441: W/System.err(2051): в java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960) 07-22 15:29:46.445: W/System.err(2051): в java.util.ArrayList.readObject(ArrayList.java:657) 07-22 15:29:46.445: W/System.err(2051): на java.lang.reflect.Me thod.invokeNative(собственный метод) 07-22 15:29:46.449: W/System.err(2051): в java.lang.reflect.Method.invoke(Method.java:511) 07-22 15:29:46.449 : W/System.err(2051): в java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1354) 07-22 15:29:46.449: W/System.err(2051): в java.io.ObjectInputStream. readHierarchy(ObjectInputStream.java:1266) 07-22 15:29:46.453: W/System.err(2051): в java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855) 07-22 15:29:46.453: W/System.err(2051): в java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787) 07-22 15:29:46.457: W/System.err(2051): в java.io.ObjectInputStream.readObject (ObjectInputStream.java:2003) 07-22 15:29:46.457: W/System.err(2051): в java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960) 07-22 15:29:46.457: W /System.err(2051): на com.mainpackage.FullGenPhysics.a(неизвестный источник) 07-22 15:29:46.457: W/System.err(2051): на com.main package.de.run (неизвестный источник)
а это красные линии(ошибка тега)
07-22 15:29:46.465: E/AndroidRuntime(2051): НЕИСПРАВНОЕ ИСКЛЮЧЕНИЕ: Thread-161 07-22 15:29:46.465: E/AndroidRuntime(2051): java.lang.NullPointerException 07-22 15:29: 46.465: E/AndroidRuntime(2051): в software.Gen_Phy.a(неизвестный источник) 07-22 15:29:46.465: E/AndroidRuntime(2051): в software.Gen_Phy.a(неизвестный источник) 07-22 15: 29:46.465: E/AndroidRuntime(2051): в software.Gen_Phy.(неизвестный источник) 07-22 15:29:46.465: E/AndroidRuntime(2051): в com.mainpackage.FullGenPhysics.a(неизвестный источник) 07- 22 15:29:46.465: E/AndroidRuntime(2051): at com.mainpackage.de.run(неизвестный источник) 07-22 15:29:46.465: W/ActivityManager(333): принудительное завершение действия com.mainpackage/. FullGenPhysics 07-22 15:29:46.525: E/SocketStream(112): readFully ждал 403440 байт, получил 49152 07-22 15:29:46.525: E/SocketStream(112): readFully ждал 354288 байт, получил 16384 07-22 15:29:46.529: E/SocketStream(112): readFully ждал 337904 байта, получил 1624 07-22 1 5:29:46.529: E/SocketStream(112): readFully ждал 336280 байт, получил 49152 07-22 15:29:46.533: E/SocketStream(112): readFully ждал 287128 байт, получил 16384 07-22 15:29:46.533: E/SocketStream(112): readFully ждал 270744 байт, получил 1624 07-22 15:29:46.537: E/SocketStream(112): readFully ждал 269120 байт, получил 49152 07-22 15:29:46.537: E/SocketStream(112): readFully ждал 219968 байт, получил 16384 07-22 15:29:46.537: E/SocketStream(112): readFully ждал 203584 байт, получил 1624 07-22 15:29:46.541: E/SocketStream(112): readFully ждал 201960 байт, получил 49152 07-22 15:29:46.541: E/SocketStream(112): readFully ждал 152808 байт, получил 16384 07-22 15:29:46.541: E/SocketStream(112): readFully ждал 136424 байт, получил 1624 07-22 15:29:46.545: E/SocketStream(112): readFully ждал 134800 байт, получил 49152 07-22 15:29:46.545: E/SocketStream(112): readFully ждал 85648 байт, получено 16384 07-22 15:29:46.549: E/SocketStream(112): readFully ждал 69264 байт, получено 1624 07-22 15:29:46.549: E/SocketStream(112): readFully ждал 67640 байт, получено 49152 07-22 15:29:46.549: E/SocketStream(112): readFully ждал 18488 байт, получено 16384
Самое смешное, что у меня есть system.out в одном из классов software.jar. Это печатается.
Я попытался добавить -libraryjars C:\Users\Harsh\git\marks++\Marks++\Software.jar
, а также
-keep class Software.**
в уже упомянутый файл .txt
Где я ошибаюсь?
ИЗМЕНИТЬ
07-22 16:10:54.957: W/System.err(2233): java.lang.ClassNotFoundException: software.Data 07-22 16:10:54.961: W/System.err(2233): at java.lang.Class.classForName(Native Method) 07-22 16:10:54.961: W/System.err(2233): at java.lang.Class.forName(Class.java:217) 07-22 16:10:54.965: W/System.err(2233): at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:2301) 07-22 16:10:54.965: W/System.err(2233): at java.io.ObjectInputStream.readNewClassDesc(ObjectInputStream.java:1660) 07-22 16:10:54.965: W/System.err(2233): at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:683) 07-22 16:10:54.969: W/System.err(2233): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1803) 07-22 16:10:54.969: W/System.err(2233): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787) 07-22 16:10:54.973: W/System.err(2233): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003) 07-22 16:10:54.973: W/System.err(2233): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960) 07-22 16:10:54.973: W/System.err(2233): at java.util.ArrayList.readObject(ArrayList.java:657) 07-22 16:10:54.973: W/System.err(2233): at java.lang.reflect.Method.invokeNative(Native Method) 07-22 16:10:54.977: W/System.err(2233): at java.lang.reflect.Method.invoke(Method.java:511) 07-22 16:10:54.977: W/System.err(2233): at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1354) 07-22 16:10:54.977: W/System.err(2233): at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1266) 07-22 16:10:54.977: W/System.err(2233): at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1855) 07-22 16:10:54.977: W/System.err(2233): at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:787) 07-22 16:10:54.977: W/System.err(2233): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2003) 07-22 16:10:54.977: W/System.err(2233): at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1960) 07-22 16:10:54.977: W/System.err(2233): at com.mainpackage.FullGenPhysics.a(Unknown Source) 07-22 16:10:54.977: W/System.err(2233): at com.mainpackage.de.run(Unknown Source) 07-22 16:10:54.981: W/System.err(2233): Caused by: java.lang.NoClassDefFoundError: software/Data 07-22 16:10:54.981: W/System.err(2233): ... 20 more 07-22 16:10:54.981: W/System.err(2233): Caused by: java.lang.ClassNotFoundException: software.Data 07-22 16:10:54.981: W/System.err(2233): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 07-22 16:10:54.981: W/System.err(2233): at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 07-22 16:10:54.981: W/System.err(2233): at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 07-22 16:10:54.985: W/System.err(2233): ... 20 more