繁体   English   中英

Android dexguard java.lang.IllegalArgumentException:类类不支持元数据注册

Android dexguard java.lang.IllegalArgumentException: Class class doesn't support metadata registration

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在使用dexguard进行混淆。我已经在我的项目中实现了谷歌联系人同步。当我调用联系人服务类时,此错误即将到来。我正为错误找到正确的解决方案。 dint获取映射文件中的任何解决方案。 我使用了很多选项,例如keep class和keepclassmembers。,但仍然遇到相同的问题。

ContactsService  contactsService = new ContactsService("MYAPPLICATION_NAME");

当我致电上述班级时,我遇到了错误。这是Google联系服务班级。

下面是错误日志。

java.lang.IllegalArgumentException: Class class o.ڹ doesn't support metadata registration.
at o.ԁ.ˊ(:153)
at o.ԁ.ˊ(:121)
at o.ԁ.ˊ(:384)
at o.Ϋ.ˊ(:533)
at o.Ϋ.ˋ(:455)
at o.Ϋ.ˊ(:42)
at o.গ.ˋ(:144)
at o.ܪ.ˊ(:130)
at o.ᓷ.<init>(:536)
at o.ᓶ.<init>(:201)
at o.ᓶ.<init>(:174)
at o.ᓼ.<init>(:89)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.buzzboard.contacts.fragment.AddEditContactFragment.initContactsService(:1020)
at com.buzzboard.contacts.fragment.AddEditContactFragment.onCreateView(:244)
at android.support.v4.app.Fragment.performCreateView(:1786)
at android.support.v4.app.FragmentManagerImpl.moveToState(:947)
at  android.support.v4.app.FragmentManagerImpl.moveToState(:1126)
at android.support.v4.app.BackStackRecord.run(:739)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(:1489)
at     android.support.v4.app.FragmentManagerImpl$1.run(:454)
at    android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5021)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoSuchMethodException: registerMetadata [class o.ԁ]
at java.lang.Class.getConstructorOrMethod(Class.java:472)
at java.lang.Class.getDeclaredMethod(Class.java:640)
at o.ԁ.ˊ(:139)

请帮助我。我也保留了一些Google联系服务类。

1 个回复

查看com.google.gdata.model.MetadataRegistry的源代码和文档,似乎有些类应该包含静态方法“ registerMetadata”,然后通过反射对其进行访问。 同样,com.google.gdata.model.Element似乎需要一个字段“ KEY”。 由于ProGuard或DexGuard不知道这一点,因此您需要保留这些字段和方法的原始名称:

-keepclassmembers class * extends com.google.gdata.model.Element {
    public static com.google.gdata.model.ElementKey KEY;
    public static void registerMetadata(com.google.gdata.model.MetadataRegistry);
}
7 java.lang.IllegalArgumentException:不支持sortOrder

下面的代码在第三和第四行的标题中引发异常。 我想念什么吗? 我希望能够按艺术家姓名排序。 这是完整的堆栈跟踪: 03年3月22日16:49:18.237 2594-2637 / php_request E / AndroidRuntime:致命例外:IntentServic ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM