使用带有 minifyEnabled 的 SimpleXML 的应用程序不起作用
App using SimpleXML with minifyEnabled does not work
我有一个应用程序在调试时工作正常,但是当我制作发布版本时,在 build.gradle
文件中使用 minifyEnabled true
,它似乎不再工作了:
D/SapphirePocket( 6520): Could not serialize telegram: <init> [interface a.a.a.b.am, interface a.a.a.a, class a.a.a.e.n]
SimpleXML 是否可以与缩小的 APK 一起使用,检查可能不再完全有效,或者这应该可以吗?
当您激活 minifyEnabled 时,您将使用混淆器混淆代码。 SimpleXML 应该使用一些你正在混淆的 类,你不能这样做。您必须保留 SimpleXML 需要的 类 的名称。
请参阅 this post 了解与您遇到的相同问题(simplexml 无法在激活混淆器的情况下进行编译)。
我建议的第一件事是将其放在混淆文件中(从我链接的 post 中提取):
-keep public class org.simpleframework.** { *; }
-keep class org.simpleframework.xml.** { *; }
-keep class org.simpleframework.xml.core.** { *; }
-keep class org.simpleframework.xml.util.** { *; }
-keepattributes ElementList, Root
-keepclassmembers class * {
@org.simpleframework.xml.* *;
}
如需更详细的回复,请向我们展示更多信息(proguard 文件、出现错误的代码...)。
我有一个应用程序在调试时工作正常,但是当我制作发布版本时,在 build.gradle
文件中使用 minifyEnabled true
,它似乎不再工作了:
D/SapphirePocket( 6520): Could not serialize telegram: <init> [interface a.a.a.b.am, interface a.a.a.a, class a.a.a.e.n]
SimpleXML 是否可以与缩小的 APK 一起使用,检查可能不再完全有效,或者这应该可以吗?
当您激活 minifyEnabled 时,您将使用混淆器混淆代码。 SimpleXML 应该使用一些你正在混淆的 类,你不能这样做。您必须保留 SimpleXML 需要的 类 的名称。
请参阅 this post 了解与您遇到的相同问题(simplexml 无法在激活混淆器的情况下进行编译)。
我建议的第一件事是将其放在混淆文件中(从我链接的 post 中提取):
-keep public class org.simpleframework.** { *; }
-keep class org.simpleframework.xml.** { *; }
-keep class org.simpleframework.xml.core.** { *; }
-keep class org.simpleframework.xml.util.** { *; }
-keepattributes ElementList, Root
-keepclassmembers class * {
@org.simpleframework.xml.* *;
}
如需更详细的回复,请向我们展示更多信息(proguard 文件、出现错误的代码...)。