java.lang.NoSuchMethodException:<;初始化>;

java.lang.NoSuchMethodException:<;初始化>;,java,android,nosuchmethoderror,Java,Android,Nosuchmethoderror,我检查了调试版本中的所有内容,所有内容都正常工作,但当我生成签名Apk时,出现以下错误: java.lang.NoSuchMethodException: <init> [interface org.simpleframework.xml.core.Contact, interface org.simpleframework.xml.Attribute, class org.simpleframework.xml.stream.Format] java.lang.RuntimeExc

我检查了调试版本中的所有内容,所有内容都正常工作,但当我生成签名Apk时,出现以下错误:

java.lang.NoSuchMethodException: <init> [interface org.simpleframework.xml.core.Contact, interface org.simpleframework.xml.Attribute, class org.simpleframework.xml.stream.Format]
java.lang.RuntimeException: java.lang.NoSuchMethodException: <init> [interface org.simpleframework.xml.core.Contact, interface org.simpleframework.xml.Attribute, class org.simpleframework.xml.stream.Format]
at retrofit2.converter.simplexml.SimpleXmlRequestBodyConverter.convert(SimpleXmlRequestBodyConverter.java:43)
at retrofit2.converter.simplexml.SimpleXmlRequestBodyConverter.convert(SimpleXmlRequestBodyConverter.java:26)
at retrofit2.ParameterHandler$Body.apply(ParameterHandler.java:297)
at retrofit2.ServiceMethod.toRequest(ServiceMethod.java:109)
at retrofit2.OkHttpCall.createRawCall(OkHttpCall.java:178)
at retrofit2.OkHttpCall.execute(OkHttpCall.java:162)
at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$RequestArbiter.request(RxJavaCallAdapterFactory.java:171)
at rx.internal.operators.OperatorSubscribeOn$SubscribeOnSubscriber$1.request(OperatorSubscribeOn.java:109)
at rx.Subscriber.setProducer(Subscriber.java:211)
at rx.internal.operators.OperatorSubscribeOn$SubscribeOnSubscriber.setProducer(OperatorSubscribeOn.java:105)
at rx.Subscriber.setProducer(Subscriber.java:205)
at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:152)
at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:138)
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
at rx.Observable.unsafeSubscribe(Observable.java:10256)
at rx.internal.operators.OperatorSubscribeOn$SubscribeOnSubscriber.call(OperatorSubscribeOn.java:100)
at rx.internal.schedulers.CachedThreadScheduler$EventLoopWorker$1.call(CachedThreadScheduler.java:230)
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.NoSuchMethodException: <init> [interface org.simpleframework.xml.core.Contact, interface org.simpleframework.xml.Attribute, class org.simpleframework.xml.stream.Format]
at java.lang.Class.getConstructor(Class.java:531)
at java.lang.Class.getConstructor(Class.java:495)
at org.simpleframework.xml.core.LabelExtractor$LabelBuilder.getConstructor(LabelExtractor.java:426)
java.lang.NoSuchMethodException:[interface org.simpleframework.xml.core.Contact,interface org.simpleframework.xml.Attribute,class org.simpleframework.xml.stream.Format]
java.lang.RuntimeException:java.lang.NoSuchMethodException:[接口org.simpleframework.xml.core.Contact,接口org.simpleframework.xml.Attribute,类org.simpleframework.xml.stream.Format]
在2.converter.simplexml.SimpleXmlRequestBodyConverter.convert处(SimpleXmlRequestBodyConverter.java:43)
在2.converter.simplexml.SimpleXmlRequestBodyConverter.convert处(SimpleXmlRequestBodyConverter.java:26)
ParameterHandler$Body.apply(ParameterHandler.java:297)
在2.ServiceMethod.toRequest(ServiceMethod.java:109)中
在2.OkHttpCall.createRawCall(OkHttpCall.java:178)中
执行(OkHttpCall.java:162)
RxJavaCallAdapterFactory$RequestArbiter.request(RxJavaCallAdapterFactory.java:171)
在rx.internal.operators.operatorSubscribeeon$subscribeeonSubscribeer$1.request(operatorSubscribeeon.java:109)
在rx.Subscriber.setProducer(Subscriber.java:211)
在rx.internal.operators.operatorSubscribeeon$subscribeeOnSubscriber.setProducer(operatorSubscribeen.java:105)
在rx.Subscriber.setProducer(Subscriber.java:205)
RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:152)
RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:138)
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
at rx.Observable.unsafeSubscribe(Observable.java:10256)
在rx.internal.operators.operatorSubscribeeon$subscribeeOnSubscriber.call(operatorSubscribeen.java:100)
在rx.internal.schedulers.CachedThreadScheduler$EventLoopWorker$1.call(CachedThreadScheduler.java:230)
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
位于java.util.concurrent.FutureTask.run(FutureTask.java:237)
位于java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
位于java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
运行(Thread.java:818)
原因:java.lang.NoSuchMethodException:[接口org.simpleframework.xml.core.Contact,接口org.simpleframework.xml.Attribute,类org.simpleframework.xml.stream.Format]
位于java.lang.Class.getConstructor(Class.java:531)
位于java.lang.Class.getConstructor(Class.java:495)
位于org.simpleframework.xml.core.LabelExtractor$LabelBuilder.getConstructor(LabelExtractor.java:426)

如果我做对了,这就是ProGuard的问题,但我不知道如何解决它。有什么建议吗?

好的,我找到了解决方案,这个代码在Proguard.rules中:

-keep public class org.simpleframework.**{ *; }
-keep class org.simpleframework.xml.**{ *; }
-keep class org.simpleframework.xml.core.**{ *; }
-keep class org.simpleframework.xml.util.**{ *; }

好的,我找到了解决方案,这个代码在Proguard.rules中:

-keep public class org.simpleframework.**{ *; }
-keep class org.simpleframework.xml.**{ *; }
-keep class org.simpleframework.xml.core.**{ *; }
-keep class org.simpleframework.xml.util.**{ *; }
关于:
具体说明一下就足够了

-keep class org.simpleframework.xml.**{ *; }
没有原始答案的其余3行

根据报告:

**
匹配类名的任何部分,可能包含任何数量的包分隔符。例如,
**.Test
匹配除根包之外的所有包中的所有测试类。或者,
com.example.*
匹配“com.example”及其子包中的所有类

建议的解决方案可能不包括同一组情况,因为它不包括
-keep public class org.simpleframework.*{*;}
所涵盖的包中的公共类(即更高一级)

但是,在提供的堆栈跟踪的第1行中,只有来自
org.simpleframework.xml…
package的类,而不是来自更高级别的包

有类似问题:

java.lang.NoSuchMethodException: <init> [
interface org.simpleframework.xml.core.Contact, 
interface org.simpleframework.xml.ElementMap, 
class org.simpleframework.xml.stream.Format]
java.lang.NoSuchMethodException:[
接口org.simpleframework.xml.core.Contact,
接口org.simpleframework.xml.ElementMap,
类org.simpleframework.xml.stream.Format]
我通过在ProGuard规则中添加一行来解决这个问题。

作为一点:
具体说明一下就足够了

-keep class org.simpleframework.xml.**{ *; }
没有原始答案的其余3行

根据报告:

**
匹配类名的任何部分,可能包含任何数量的包分隔符。例如,
**.Test
匹配除根包之外的所有包中的所有测试类。或者,
com.example.*
匹配“com.example”及其子包中的所有类

建议的解决方案可能不包括同一组情况,因为它不包括
-keep public class org.simpleframework.*{*;}
所涵盖的包中的公共类(即更高一级)

但是,在提供的堆栈跟踪的第1行中,只有来自
org.simpleframework.xml…
package的类,而不是来自更高级别的包

有类似问题:

java.lang.NoSuchMethodException: <init> [
interface org.simpleframework.xml.core.Contact, 
interface org.simpleframework.xml.ElementMap, 
class org.simpleframework.xml.stream.Format]
java.lang.NoSuchMethodException:[
接口org.simpleframework.xml.core.Contact,
接口org.simpleframework.xml.ElementMap,
类org.simpleframework.xml.stream.Format]

我通过在ProGuard规则中添加一行来解决它。

试试看,我已经找到了解决方案,谢谢:)试试看,我已经找到了解决方案,谢谢:)你救了我一天!:)你救了我一天!:)