运行github中的demo,完全按照readme中的步骤,就是打不出patch.jar
日志如下:
➜ Robust git:(master) ./gradlew clean assembleRelease --stacktrace --no-daemon
Register robust transform successful !!!
Incremental java compilation is an incubating feature.
Jack is required to support java 8 language features.
Jack is required to support java 8 language features.
:clean UP-TO-DATE
:app:clean
:auto-patch-plugin:clean UP-TO-DATE
:autopatchbase:clean
:gradle-plugin:clean UP-TO-DATE
:patch:clean
:app:preBuild UP-TO-DATE
:app:preReleaseBuild UP-TO-DATE
:app:checkReleaseManifest
:app:preDebugBuild UP-TO-DATE
:autopatchbase:compileJava
警告: [options] 未与 -source 1.7 一起设置引导类路径
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
1 个警告
:autopatchbase:processResources UP-TO-DATE
:autopatchbase:classes
:autopatchbase:jar
:patch:preBuild UP-TO-DATE
:patch:preReleaseBuild UP-TO-DATE
:patch:compileReleaseNdk UP-TO-DATE
:patch:compileLint
:patch:copyReleaseLint UP-TO-DATE
:patch:mergeReleaseProguardFiles
:patch:packageReleaseRenderscript UP-TO-DATE
:patch:checkReleaseManifest
:patch:prepareReleaseDependencies
:patch:compileReleaseRenderscript
:patch:generateReleaseResValues UP-TO-DATE
:patch:generateReleaseResources
:patch:packageReleaseResources
:patch:compileReleaseAidl
:patch:generateReleaseBuildConfig
:patch:mergeReleaseShaders
:patch:compileReleaseShaders
:patch:generateReleaseAssets
:patch:mergeReleaseAssets
:patch:processReleaseManifest
:patch:processReleaseResources
:patch:generateReleaseSources
:patch:incrementalReleaseJavaCompilationSafeguard
:patch:compileReleaseJavaWithJavac
:patch:compileReleaseJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
:patch:processReleaseJavaRes UP-TO-DATE
:patch:transformResourcesWithMergeJavaResForRelease
:patch:transformClassesAndResourcesWithSyncLibJarsForRelease
:patch:mergeReleaseJniLibFolders
:patch:transformNative_libsWithMergeJniLibsForRelease
:patch:transformNative_libsWithSyncJniLibsForRelease
:patch:bundleRelease
:app:prepareComAndroidSupportAnimatedVectorDrawable2421Library
:app:prepareComAndroidSupportAppcompatV72421Library
:app:prepareComAndroidSupportDesign2421Library
:app:prepareComAndroidSupportRecyclerviewV72421Library
:app:prepareComAndroidSupportSupportCompat2421Library
:app:prepareComAndroidSupportSupportCoreUi2421Library
:app:prepareComAndroidSupportSupportCoreUtils2421Library
:app:prepareComAndroidSupportSupportFragment2421Library
:app:prepareComAndroidSupportSupportMediaCompat2421Library
:app:prepareComAndroidSupportSupportV42421Library
:app:prepareComAndroidSupportSupportVectorDrawable2421Library
:app:prepareComMeituanRobustPatch0487Library
:app:prepareReleaseDependencies
:app:compileReleaseAidl
:app:compileReleaseRenderscript
:app:generateReleaseBuildConfig
:app:mergeReleaseShaders
:app:compileReleaseShaders
:app:generateReleaseAssets
:app:mergeReleaseAssets
:app:generateReleaseResValues UP-TO-DATE
:app:generateReleaseResources
:app:mergeReleaseResources
:app:processReleaseManifest
:app:processReleaseResources
:app:generateReleaseSources
:app:incrementalReleaseJavaCompilationSafeguard
:app:compileReleaseJavaWithJavac
注: /Users/sunqi/Robust/app/src/main/java/com/meituan/sample/PatchManipulateImp.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
:app:compileRetrolambdaRelease
:app:compileReleaseNdk UP-TO-DATE
:app:compileReleaseSources
:app:lintVitalRelease
[Fatal Error] :3:214: The value of attribute "name" associated with an element type "item" must not contain the '<' character.
Could not read /Users/sunqi/Library/Android/sdk/platform-tools/api/annotations.zip
java.io.IOException: Could not parse XML from android/accounts/annotations.xml
at com.android.tools.lint.ExternalAnnotationRepository$AnnotationsDatabase.initializePackage(ExternalAnnotationRepository.java:658)
at com.android.tools.lint.ExternalAnnotationRepository$AnnotationsDatabase.initializeFromJar(ExternalAnnotationRepository.java:601)
at com.android.tools.lint.ExternalAnnotationRepository$AnnotationsDatabase.(ExternalAnnotationRepository.java:402)
at com.android.tools.lint.ExternalAnnotationRepository.getDatabase(ExternalAnnotationRepository.java:214)
at com.android.tools.lint.ExternalAnnotationRepository.create(ExternalAnnotationRepository.java:153)
at com.android.tools.lint.ExternalAnnotationRepository.get(ExternalAnnotationRepository.java:134)
at com.android.tools.lint.EcjParser$EcjResolvedMethod.getAnnotations(EcjParser.java:1374)
at com.android.tools.lint.checks.SupportAnnotationDetector$CallVisitor.checkCall(SupportAnnotationDetector.java:1688)
at com.android.tools.lint.checks.SupportAnnotationDetector$CallVisitor.visitMethodInvocation(SupportAnnotationDetector.java:1659)
at com.android.tools.lint.client.api.JavaVisitor$DispatchVisitor.visitMethodInvocation(JavaVisitor.java:1077)
at com.android.tools.lint.client.api.JavaVisitor$DelegatingJavaVisitor.visitMethodInvocation(JavaVisitor.java:1445)
at lombok.ast.MethodInvocation.accept(MethodInvocation.java:114)
at lombok.ast.VariableDefinitionEntry.accept(VariableDefinitionEntry.java:105)
at lombok.ast.VariableDefinition.accept(VariableDefinition.java:155)
at lombok.ast.VariableDeclaration.accept(VariableDeclaration.java:103)
at lombok.ast.Block.accept(Block.java:106)
at lombok.ast.MethodDeclaration.accept(MethodDeclaration.java:240)
at lombok.ast.NormalTypeBody.accept(NormalTypeBody.java:57)
at lombok.ast.ClassDeclaration.accept(ClassDeclaration.java:239)
at lombok.ast.CompilationUnit.accept(CompilationUnit.java:83)
at com.android.tools.lint.client.api.JavaVisitor.visitFile(JavaVisitor.java:274)
at com.android.tools.lint.client.api.LintDriver.checkJava(LintDriver.java:1529)
at com.android.tools.lint.client.api.LintDriver.runFileDetectors(LintDriver.java:1063)
at com.android.tools.lint.client.api.LintDriver.checkProject(LintDriver.java:908)
at com.android.tools.lint.client.api.LintDriver.analyze(LintDriver.java:436)
at com.android.tools.lint.client.api.LintDriver.analyze(LintDriver.java:377)
at com.android.tools.lint.LintCliClient.run(LintCliClient.java:131)
at com.android.build.gradle.internal.LintGradleClient.run(LintGradleClient.java:133)
at com.android.build.gradle.internal.LintGradleClient$run.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at com.android.build.gradle.tasks.Lint.runLint(Lint.groovy:223)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:182)
at com.android.build.gradle.tasks.Lint.lintSingleVariant(Lint.groovy:198)
at com.android.build.gradle.tasks.Lint$lintSingleVariant$2.callCurrent(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:174)
at com.android.build.gradle.tasks.Lint.lint(Lint.groovy:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:227)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:48)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
at org.gradle.launcher.Main.doAction(Main.java:33)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
:app:prePackageMarkerForRelease
:app:transformClassesWithRobustForRelease
================robust start================
read all class file cost 0.095 second
===robust print id start===
key is com.meituan.sample.MainActivity.onCreate(android.os.Bundle) value is 1
key is com.meituan.sample.MainActivity.isGrantSDCardReadPermission() value is 2
key is com.meituan.sample.MainActivity.requestPermission() value is 3
key is com.meituan.sample.MainActivity.onRequestPermissionsResult(int,java.lang.String[],int[]) value is 4
key is com.meituan.sample.MainActivity.handlePermissionResult() value is 5
key is com.meituan.sample.MainActivity.runRobust() value is 6
key is com.meituan.sample.MainActivity$1.onClick(android.view.View) value is 7
key is com.meituan.sample.MainActivity$2.onClick(android.view.View) value is 8
key is com.meituan.sample.MainActivity$3.onClick(android.view.View) value is 9
key is com.meituan.sample.PatchManipulateImp.fetchPatchList(android.content.Context) value is 10
key is com.meituan.sample.PatchManipulateImp.verifyPatch(android.content.Context,com.meituan.robust.Patch) value is 11
key is com.meituan.sample.PatchManipulateImp.copy(java.lang.String,java.lang.String) value is 12
key is com.meituan.sample.PermissionUtils.checkSelfPermission(android.content.Context,java.lang.String) value is 13
key is com.meituan.sample.PermissionUtils.isGrantSDCardReadPermission(android.content.Context) value is 14
key is com.meituan.sample.PermissionUtils.requestSDCardReadPermission(android.app.Activity,int) value is 15
key is com.meituan.sample.RobustCallBackSample.onPatchListFetched(boolean,boolean,java.util.List) value is 16
key is com.meituan.sample.RobustCallBackSample.onPatchFetched(boolean,boolean,com.meituan.robust.Patch) value is 17
key is com.meituan.sample.RobustCallBackSample.onPatchApplied(boolean,com.meituan.robust.Patch) value is 18
key is com.meituan.sample.RobustCallBackSample.logNotify(java.lang.String,java.lang.String) value is 19
key is com.meituan.sample.RobustCallBackSample.exceptionNotify(java.lang.Throwable,java.lang.String) value is 20
key is com.meituan.sample.SecondActivity.onCreate(android.os.Bundle) value is 21
key is com.meituan.sample.SecondActivity.getTextInfo() value is 22
key is com.meituan.sample.SecondActivity.onCreateView(java.lang.String,android.content.Context,android.util.AttributeSet) value is 23
key is com.meituan.sample.SecondActivity.onClick(android.view.View) value is 24
key is com.meituan.sample.SecondActivity.getReflectField(java.lang.String,java.lang.Object) value is 25
key is com.meituan.sample.SecondActivity.getFieldValue(java.lang.String,java.lang.Object) value is 26
key is com.meituan.sample.SecondActivity.lambda$onCreate$0(android.view.View) value is 27
key is com.meituan.sample.SecondActivity$$Lambda$1.onClick(android.view.View) value is 28
===robust print id end===
robust cost 2.115 second
================robust end================
:app:processReleaseJavaRes UP-TO-DATE
:app:transformResourcesWithMergeJavaResForRelease
:app:transformClassesAndResourcesWithProguardForRelease
ProGuard, version 5.2.1
Reading input...
Reading program jar [/Users/sunqi/Robust/app/build/intermediates/transforms/mergeJavaRes/release/jars/2/1f/main.jar] (filtered)
Reading program jar [/Users/sunqi/Robust/app/build/intermediates/transforms/robust/release/jars/1/1f/main.jar] (filtered)
Reading library jar [/Users/sunqi/Library/Android/sdk/platforms/android-23/android.jar]
Reading library jar [/Users/sunqi/Library/Android/sdk/platforms/android-23/optional/org.apache.http.legacy.jar]
Note: duplicate definition of library class [android.net.http.SslCertificate]
Note: duplicate definition of library class [android.net.http.SslError]
Note: duplicate definition of library class [android.net.http.SslCertificate$DName]
Note: duplicate definition of library class [org.apache.http.conn.scheme.SocketFactory]
Note: duplicate definition of library class [org.apache.http.conn.scheme.HostNameResolver]
Note: duplicate definition of library class [org.apache.http.conn.ConnectTimeoutException]
Note: duplicate definition of library class [org.apache.http.params.HttpParams]
Note: there were 7 duplicate class definitions.
(http://proguard.sourceforge.net/manual/troubleshooting.html#duplicateclass)
Initializing...
Note: the configuration refers to the unknown class 'com.google.vending.licensing.ILicensingService'
Note: the configuration refers to the unknown class 'com.android.vending.licensing.ILicensingService'
Note: com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl calls 'Class.getEnclosingClass'
Warning: com.meituan.sample.SecondActivity: can't find referenced class java.lang.invoke.MethodHandles$Lookup
Warning: com.meituan.sample.SecondActivity: can't find referenced class java.lang.invoke.MethodHandles
Warning: com.meituan.sample.SecondActivity$$Lambda$1: can't find referenced class java.lang.invoke.LambdaForm$Hidden
Warning: javassist.tools.rmi.ObjectImporter: can't find referenced class java.applet.Applet
Warning: javassist.tools.rmi.ObjectImporter: can't find referenced class java.applet.Applet
Warning: javassist.tools.rmi.ObjectImporter: can't find referenced class java.applet.Applet
Warning: javassist.tools.rmi.ObjectImporter: can't find referenced class java.applet.Applet
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.AttachingConnector
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.AttachingConnector
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.Connector$Argument
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.Connector$Argument
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.AttachingConnector
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.VirtualMachine
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.Bootstrap
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.VirtualMachineManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.Connector
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.Connector
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequestManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequestManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.VirtualMachine
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.ReferenceType
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.VirtualMachine
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.event.EventQueue
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.VirtualMachine
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.IllegalConnectorArgumentsException
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.VirtualMachine
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.Bootstrap
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.VirtualMachineManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequestManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.event.EventQueue
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.VirtualMachine
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.AttachingConnector
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequestManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.Connector
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.Connector
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequestManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequestManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequestManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequestManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.ReferenceType
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.ReferenceType
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.event.EventSet
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.event.EventQueue
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventSet
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventIterator
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventIterator
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.MethodEntryEvent
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventSet
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventSet
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventIterator
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventSet
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventIterator
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.Event
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventIterator
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventSet
Warning: okio.DeflaterSink: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
Warning: okio.Okio: can't find referenced class java.nio.file.Files
Warning: okio.Okio: can't find referenced class java.nio.file.Files
Warning: okio.Okio: can't find referenced class java.nio.file.Files
Warning: okio.Okio: can't find referenced class java.nio.file.Path
Warning: okio.Okio: can't find referenced class java.nio.file.OpenOption
Warning: okio.Okio: can't find referenced class java.nio.file.Path
Warning: okio.Okio: can't find referenced class java.nio.file.OpenOption
Warning: okio.Okio: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
Warning: okio.Okio: can't find referenced class java.nio.file.Path
Warning: okio.Okio: can't find referenced class java.nio.file.OpenOption
Warning: okio.Okio: can't find referenced class java.nio.file.Path
Warning: okio.Okio: can't find referenced class java.nio.file.OpenOption
Warning: okio.Okio: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
Note: android.support.v4.media.ParceledListSliceAdapterApi21: can't find dynamically referenced class android.content.pm.ParceledListSlice
Note: android.support.v4.text.ICUCompatApi23: can't find dynamically referenced class libcore.icu.ICU
Note: android.support.v4.text.ICUCompatIcs: can't find dynamically referenced class libcore.icu.ICU
Note: android.support.v7.widget.DrawableUtils: can't find dynamically referenced class android.graphics.Insets
Note: com.google.gson.internal.UnsafeAllocator: can't find dynamically referenced class sun.misc.Unsafe
Note: com.squareup.okhttp.internal.Platform: can't find dynamically referenced class com.android.org.conscrypt.OpenSSLSocketImpl
Note: com.squareup.okhttp.internal.Platform: can't find dynamically referenced class org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl
Note: javassist.bytecode.ClassFile: can't find dynamically referenced class java.lang.invoke.CallSite
Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'icon' dynamically
Maybe this is program field 'android.support.design.R$attr { int icon; }'
Maybe this is program field 'android.support.design.R$id { int icon; }'
Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { int icon; }'
Maybe this is program field 'android.support.v7.appcompat.R$attr { int icon; }'
Maybe this is program field 'android.support.v7.appcompat.R$id { int icon; }'
Maybe this is program field 'com.meituan.sample.R$attr { int icon; }'
Maybe this is program field 'com.meituan.sample.R$id { int icon; }'
Maybe this is library field 'android.R$attr { int icon; }'
Maybe this is library field 'android.R$id { int icon; }'
Maybe this is library field 'android.app.LauncherActivity$ListItem { android.graphics.drawable.Drawable icon; }'
Maybe this is library field 'android.app.Notification { int icon; }'
Maybe this is library field 'android.app.Notification$Action { int icon; }'
Maybe this is library field 'android.appwidget.AppWidgetProviderInfo { int icon; }'
Maybe this is library field 'android.content.pm.PackageItemInfo { int icon; }'
Maybe this is library field 'android.content.pm.ResolveInfo { int icon; }'
Maybe this is library field 'android.inputmethodservice.Keyboard$Key { android.graphics.drawable.Drawable icon; }'
Maybe this is library field 'android.speech.tts.TextToSpeech$EngineInfo { int icon; }'
Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'title' dynamically
Maybe this is program field 'android.support.design.R$attr { int title; }'
Maybe this is program field 'android.support.design.R$id { int title; }'
Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { java.lang.CharSequence title; }'
Maybe this is program field 'android.support.v7.appcompat.R$attr { int title; }'
Maybe this is program field 'android.support.v7.appcompat.R$id { int title; }'
Maybe this is program field 'com.meituan.sample.R$attr { int title; }'
Maybe this is program field 'com.meituan.sample.R$id { int title; }'
Maybe this is library field 'android.R$attr { int title; }'
Maybe this is library field 'android.R$id { int title; }'
Maybe this is library field 'android.app.Notification$Action { java.lang.CharSequence title; }'
Maybe this is library field 'android.preference.PreferenceActivity$Header { java.lang.CharSequence title; }'
Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'actionIntent' dynamically
Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { android.app.PendingIntent actionIntent; }'
Maybe this is library field 'android.app.Notification$Action { android.app.PendingIntent actionIntent; }'
Note: android.support.v4.app.NotificationManagerCompatKitKat accesses a declared field 'OP_POST_NOTIFICATION' dynamically
Maybe this is program field 'android.support.v4.app.NotificationManagerCompatKitKat { java.lang.String OP_POST_NOTIFICATION; }'
Note: com.google.gson.internal.UnsafeAllocator accesses a declared field 'theUnsafe' dynamically
Note: javassist.util.proxy.ProxyFactory accesses a declared field 'handler' dynamically
Maybe this is program field 'com.squareup.okhttp.internal.framed.FramedConnection { com.squareup.okhttp.internal.framed.IncomingStreamHandler handler; }'
Maybe this is program field 'com.squareup.okhttp.internal.framed.FramedConnection$Builder { com.squareup.okhttp.internal.framed.IncomingStreamHandler handler; }'
Maybe this is program field 'com.squareup.picasso.Dispatcher { android.os.Handler handler; }'
Maybe this is program field 'com.squareup.picasso.Picasso$CleanupThread { android.os.Handler handler; }'
Maybe this is program field 'com.squareup.picasso.Stats { android.os.Handler handler; }'
Maybe this is program field 'javassist.bytecode.analysis.Analyzer$ExceptionInfo { int handler; }'
Maybe this is program field 'javassist.util.proxy.ProxyFactory { javassist.util.proxy.MethodHandler handler; }'
Maybe this is program field 'javassist.util.proxy.SerializedProxy { javassist.util.proxy.MethodHandler handler; }'
Maybe this is library field 'android.content.AsyncQueryHandler$WorkerArgs { android.os.Handler handler; }'
Note: the configuration keeps the entry point 'android.support.design.widget.NavigationView { void setNavigationItemSelectedListener(android.support.design.widget.NavigationView$OnNavigationItemSelectedListener); }', but not the descriptor class 'android.support.design.widget.NavigationView$OnNavigationItemSelectedListener'
Note: the configuration keeps the entry point 'android.support.design.widget.Snackbar$SnackbarLayout { void setOnLayoutChangeListener(android.support.design.widget.Snackbar$SnackbarLayout$OnLayoutChangeListener); }', but not the descriptor class 'android.support.design.widget.Snackbar$SnackbarLayout$OnLayoutChangeListener'
Note: the configuration keeps the entry point 'android.support.design.widget.Snackbar$SnackbarLayout { void setOnAttachStateChangeListener(android.support.design.widget.Snackbar$SnackbarLayout$OnAttachStateChangeListener); }', but not the descriptor class 'android.support.design.widget.Snackbar$SnackbarLayout$OnAttachStateChangeListener'
Note: the configuration keeps the entry point 'android.support.design.widget.TabLayout { void setOnTabSelectedListener(android.support.design.widget.TabLayout$OnTabSelectedListener); }', but not the descriptor class 'android.support.design.widget.TabLayout$OnTabSelectedListener'
Note: the configuration keeps the entry point 'android.support.design.widget.TabLayout { void setupWithViewPager(android.support.v4.view.ViewPager); }', but not the descriptor class 'android.support.v4.view.ViewPager'
Note: the configuration keeps the entry point 'android.support.design.widget.TabLayout { void setTabsFromPagerAdapter(android.support.v4.view.PagerAdapter); }', but not the descriptor class 'android.support.v4.view.PagerAdapter'
Note: the configuration keeps the entry point 'android.support.design.widget.TabLayout$TabView { void setTab(android.support.design.widget.TabLayout$Tab); }', but not the descriptor class 'android.support.design.widget.TabLayout$Tab'
Note: the configuration keeps the entry point 'android.support.v4.view.ViewPager { void setAdapter(android.support.v4.view.PagerAdapter); }', but not the descriptor class 'android.support.v4.view.PagerAdapter'
Note: the configuration keeps the entry point 'android.support.v4.view.ViewPager { void setOnPageChangeListener(android.support.v4.view.ViewPager$OnPageChangeListener); }', but not the descriptor class 'android.support.v4.view.ViewPager$OnPageChangeListener'
Note: the configuration keeps the entry point 'android.support.v4.widget.DrawerLayout { void setDrawerListener(android.support.v4.widget.DrawerLayout$DrawerListener); }', but not the descriptor class 'android.support.v4.widget.DrawerLayout$DrawerListener'
Note: the configuration keeps the entry point 'android.support.v4.widget.NestedScrollView { void setOnScrollChangeListener(android.support.v4.widget.NestedScrollView$OnScrollChangeListener); }', but not the descriptor class 'android.support.v4.widget.NestedScrollView$OnScrollChangeListener'
Note: the configuration keeps the entry point 'android.support.v4.widget.SlidingPaneLayout { void setPanelSlideListener(android.support.v4.widget.SlidingPaneLayout$PanelSlideListener); }', but not the descriptor class 'android.support.v4.widget.SlidingPaneLayout$PanelSlideListener'
Note: the configuration keeps the entry point 'android.support.v4.widget.SwipeRefreshLayout { void setOnRefreshListener(android.support.v4.widget.SwipeRefreshLayout$OnRefreshListener); }', but not the descriptor class 'android.support.v4.widget.SwipeRefreshLayout$OnRefreshListener'
Note: the configuration keeps the entry point 'android.support.v4.widget.SwipeRefreshLayout { void setOnChildScrollUpCallback(android.support.v4.widget.SwipeRefreshLayout$OnChildScrollUpCallback); }', but not the descriptor class 'android.support.v4.widget.SwipeRefreshLayout$OnChildScrollUpCallback'
Note: the configuration keeps the entry point 'android.support.v7.view.menu.ActionMenuItemView { void setItemInvoker(android.support.v7.view.menu.MenuBuilder$ItemInvoker); }', but not the descriptor class 'android.support.v7.view.menu.MenuBuilder$ItemInvoker'
Note: the configuration keeps the entry point 'android.support.v7.view.menu.ActionMenuItemView { void setPopupCallback(android.support.v7.view.menu.ActionMenuItemView$PopupCallback); }', but not the descriptor class 'android.support.v7.view.menu.ActionMenuItemView$PopupCallback'
Note: the configuration keeps the entry point 'android.support.v7.widget.ActionBarContainer { void setTabContainer(android.support.v7.widget.ScrollingTabContainerView); }', but not the descriptor class 'android.support.v7.widget.ScrollingTabContainerView'
Note: the configuration keeps the entry point 'android.support.v7.widget.ActionBarOverlayLayout { void setActionBarVisibilityCallback(android.support.v7.widget.ActionBarOverlayLayout$ActionBarVisibilityCallback); }', but not the descriptor class 'android.support.v7.widget.ActionBarOverlayLayout$ActionBarVisibilityCallback'
Note: the configuration keeps the entry point 'android.support.v7.widget.ActionMenuView { void setPresenter(android.support.v7.widget.ActionMenuPresenter); }', but not the descriptor class 'android.support.v7.widget.ActionMenuPresenter'
Note: the configuration keeps the entry point 'android.support.v7.widget.ActionMenuView { void setOnMenuItemClickListener(android.support.v7.widget.ActionMenuView$OnMenuItemClickListener); }', but not the descriptor class 'android.support.v7.widget.ActionMenuView$OnMenuItemClickListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.ActivityChooserView { void setActivityChooserModel(android.support.v7.widget.ActivityChooserModel); }', but not the descriptor class 'android.support.v7.widget.ActivityChooserModel'
Note: the configuration keeps the entry point 'android.support.v7.widget.ActivityChooserView { void setProvider(android.support.v4.view.ActionProvider); }', but not the descriptor class 'android.support.v4.view.ActionProvider'
Note: the configuration keeps the entry point 'android.support.v7.widget.ContentFrameLayout { void setAttachListener(android.support.v7.widget.ContentFrameLayout$OnAttachListener); }', but not the descriptor class 'android.support.v7.widget.ContentFrameLayout$OnAttachListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.FitWindowsFrameLayout { void setOnFitSystemWindowsListener(android.support.v7.widget.FitWindowsViewGroup$OnFitSystemWindowsListener); }', but not the descriptor class 'android.support.v7.widget.FitWindowsViewGroup$OnFitSystemWindowsListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.FitWindowsLinearLayout { void setOnFitSystemWindowsListener(android.support.v7.widget.FitWindowsViewGroup$OnFitSystemWindowsListener); }', but not the descriptor class 'android.support.v7.widget.FitWindowsViewGroup$OnFitSystemWindowsListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.MenuPopupWindow$MenuDropDownListView { void setHoverListener(android.support.v7.widget.MenuItemHoverListener); }', but not the descriptor class 'android.support.v7.widget.MenuItemHoverListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setAccessibilityDelegateCompat(android.support.v7.widget.RecyclerViewAccessibilityDelegate); }', but not the descriptor class 'android.support.v7.widget.RecyclerViewAccessibilityDelegate'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setAdapter(android.support.v7.widget.RecyclerView$Adapter); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$Adapter'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setRecyclerListener(android.support.v7.widget.RecyclerView$RecyclerListener); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$RecyclerListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$LayoutManager'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setOnFlingListener(android.support.v7.widget.RecyclerView$OnFlingListener); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$OnFlingListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setRecycledViewPool(android.support.v7.widget.RecyclerView$RecycledViewPool); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$RecycledViewPool'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setViewCacheExtension(android.support.v7.widget.RecyclerView$ViewCacheExtension); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$ViewCacheExtension'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setChildDrawingOrderCallback(android.support.v7.widget.RecyclerView$ChildDrawingOrderCallback); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$ChildDrawingOrderCallback'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setOnScrollListener(android.support.v7.widget.RecyclerView$OnScrollListener); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$OnScrollListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setItemAnimator(android.support.v7.widget.RecyclerView$ItemAnimator); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$ItemAnimator'
Note: the configuration keeps the entry point 'android.support.v7.widget.SearchView { void setOnQueryTextListener(android.support.v7.widget.SearchView$OnQueryTextListener); }', but not the descriptor class 'android.support.v7.widget.SearchView$OnQueryTextListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.SearchView { void setOnCloseListener(android.support.v7.widget.SearchView$OnCloseListener); }', but not the descriptor class 'android.support.v7.widget.SearchView$OnCloseListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.SearchView { void setOnSuggestionListener(android.support.v7.widget.SearchView$OnSuggestionListener); }', but not the descriptor class 'android.support.v7.widget.SearchView$OnSuggestionListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.SearchView { void setSuggestionsAdapter(android.support.v4.widget.CursorAdapter); }', but not the descriptor class 'android.support.v4.widget.CursorAdapter'
Note: the configuration keeps the entry point 'android.support.v7.widget.SearchView$SearchAutoComplete { void setSearchView(android.support.v7.widget.SearchView); }', but not the descriptor class 'android.support.v7.widget.SearchView'
Note: the configuration keeps the entry point 'android.support.v7.widget.Toolbar { void setOnMenuItemClickListener(android.support.v7.widget.Toolbar$OnMenuItemClickListener); }', but not the descriptor class 'android.support.v7.widget.Toolbar$OnMenuItemClickListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.ViewStubCompat { void setOnInflateListener(android.support.v7.widget.ViewStubCompat$OnInflateListener); }', but not the descriptor class 'android.support.v7.widget.ViewStubCompat$OnInflateListener'
Note: there were 2 references to unknown classes.
You should check your configuration for typos.
(http://proguard.sourceforge.net/manual/troubleshooting.html#unknownclass)
Note: there were 1 classes trying to access enclosing classes using reflection.
You should consider keeping the inner classes attributes
(using '-keepattributes InnerClasses').
(http://proguard.sourceforge.net/manual/troubleshooting.html#attributes)
Note: there were 43 unkept descriptor classes in kept class members.
You should consider explicitly keeping the mentioned classes
(using '-keep').
(http://proguard.sourceforge.net/manual/troubleshooting.html#descriptorclass)
Note: there were 8 unresolved dynamic references to classes or interfaces.
You should check if you need to specify additional program jars.
(http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass)
Note: there were 6 accesses to class members by means of introspection.
You should consider explicitly keeping the mentioned class members
(using '-keep' or '-keepclassmembers').
(http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclassmember)
Warning: there were 80 unresolved references to classes or interfaces.
You may need to add missing library jars or update their versions.
If your code works fine without the missing classes, you can suppress
the warnings with '-dontwarn' options.
(http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
Note: you're ignoring all warnings!
Ignoring unused library classes...
Original number of library classes: 3880
Final number of library classes: 1117
Printing kept classes, fields, and methods...
Shrinking...
Printing usage to [/Users/sunqi/Robust/app/build/outputs/mapping/release/usage.txt]...
Removing unused program classes and class elements...
Original number of program classes: 2850
Final number of program classes: 1116
Obfuscating...
Printing mapping to [/Users/sunqi/Robust/app/build/outputs/mapping/release/mapping.txt]...
Writing output...
Preparing output jar [/Users/sunqi/Robust/app/build/intermediates/transforms/proguard/release/jars/3/1f/main.jar]
Copying resources from program jar [/Users/sunqi/Robust/app/build/intermediates/transforms/mergeJavaRes/release/jars/2/1f/main.jar] (filtered)
Copying resources from program jar [/Users/sunqi/Robust/app/build/intermediates/transforms/robust/release/jars/1/1f/main.jar] (filtered)
Printing classes to [/Users/sunqi/Robust/app/build/outputs/mapping/release/dump.txt]...
:app:transformClassesWithDexForRelease
:app:mergeReleaseJniLibFolders
:app:transformNative_libsWithMergeJniLibsForRelease
:app:validateMeituanSigning
:app:packageRelease
:app:zipalignRelease
:app:assembleRelease
:patch:compileReleaseSources
:patch:assembleRelease
运行github中的demo,完全按照readme中的步骤,就是打不出patch.jar 日志如下: ➜ Robust git:(master) ./gradlew clean assembleRelease --stacktrace --no-daemon Register robust transform successful !!! Incremental java compilation is an incubating feature. Jack is required to support java 8 language features. Jack is required to support java 8 language features. :clean UP-TO-DATE :app:clean :auto-patch-plugin:clean UP-TO-DATE :autopatchbase:clean :gradle-plugin:clean UP-TO-DATE :patch:clean :app:preBuild UP-TO-DATE :app:preReleaseBuild UP-TO-DATE :app:checkReleaseManifest :app:preDebugBuild UP-TO-DATE :autopatchbase:compileJava 警告: [options] 未与 -source 1.7 一起设置引导类路径 注: 某些输入文件使用了未经检查或不安全的操作。 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。 1 个警告 :autopatchbase:processResources UP-TO-DATE :autopatchbase:classes :autopatchbase:jar :patch:preBuild UP-TO-DATE :patch:preReleaseBuild UP-TO-DATE :patch:compileReleaseNdk UP-TO-DATE :patch:compileLint :patch:copyReleaseLint UP-TO-DATE :patch:mergeReleaseProguardFiles :patch:packageReleaseRenderscript UP-TO-DATE :patch:checkReleaseManifest :patch:prepareReleaseDependencies :patch:compileReleaseRenderscript :patch:generateReleaseResValues UP-TO-DATE :patch:generateReleaseResources :patch:packageReleaseResources :patch:compileReleaseAidl :patch:generateReleaseBuildConfig :patch:mergeReleaseShaders :patch:compileReleaseShaders :patch:generateReleaseAssets :patch:mergeReleaseAssets :patch:processReleaseManifest :patch:processReleaseResources :patch:generateReleaseSources :patch:incrementalReleaseJavaCompilationSafeguard :patch:compileReleaseJavaWithJavac :patch:compileReleaseJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.). :patch:processReleaseJavaRes UP-TO-DATE :patch:transformResourcesWithMergeJavaResForRelease :patch:transformClassesAndResourcesWithSyncLibJarsForRelease :patch:mergeReleaseJniLibFolders :patch:transformNative_libsWithMergeJniLibsForRelease :patch:transformNative_libsWithSyncJniLibsForRelease :patch:bundleRelease :app:prepareComAndroidSupportAnimatedVectorDrawable2421Library :app:prepareComAndroidSupportAppcompatV72421Library :app:prepareComAndroidSupportDesign2421Library :app:prepareComAndroidSupportRecyclerviewV72421Library :app:prepareComAndroidSupportSupportCompat2421Library :app:prepareComAndroidSupportSupportCoreUi2421Library :app:prepareComAndroidSupportSupportCoreUtils2421Library :app:prepareComAndroidSupportSupportFragment2421Library :app:prepareComAndroidSupportSupportMediaCompat2421Library :app:prepareComAndroidSupportSupportV42421Library :app:prepareComAndroidSupportSupportVectorDrawable2421Library :app:prepareComMeituanRobustPatch0487Library :app:prepareReleaseDependencies :app:compileReleaseAidl :app:compileReleaseRenderscript :app:generateReleaseBuildConfig :app:mergeReleaseShaders :app:compileReleaseShaders :app:generateReleaseAssets :app:mergeReleaseAssets :app:generateReleaseResValues UP-TO-DATE :app:generateReleaseResources :app:mergeReleaseResources :app:processReleaseManifest :app:processReleaseResources :app:generateReleaseSources :app:incrementalReleaseJavaCompilationSafeguard :app:compileReleaseJavaWithJavac 注: /Users/sunqi/Robust/app/src/main/java/com/meituan/sample/PatchManipulateImp.java使用了未经检查或不安全的操作。 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。 :app:compileRetrolambdaRelease :app:compileReleaseNdk UP-TO-DATE :app:compileReleaseSources :app:lintVitalRelease [Fatal Error] :3:214: The value of attribute "name" associated with an element type "item" must not contain the '<' character. Could not read /Users/sunqi/Library/Android/sdk/platform-tools/api/annotations.zip java.io.IOException: Could not parse XML from android/accounts/annotations.xml at com.android.tools.lint.ExternalAnnotationRepository$AnnotationsDatabase.initializePackage(ExternalAnnotationRepository.java:658) at com.android.tools.lint.ExternalAnnotationRepository$AnnotationsDatabase.initializeFromJar(ExternalAnnotationRepository.java:601) at com.android.tools.lint.ExternalAnnotationRepository$AnnotationsDatabase.(ExternalAnnotationRepository.java:402)
at com.android.tools.lint.ExternalAnnotationRepository.getDatabase(ExternalAnnotationRepository.java:214)
at com.android.tools.lint.ExternalAnnotationRepository.create(ExternalAnnotationRepository.java:153)
at com.android.tools.lint.ExternalAnnotationRepository.get(ExternalAnnotationRepository.java:134)
at com.android.tools.lint.EcjParser$EcjResolvedMethod.getAnnotations(EcjParser.java:1374)
at com.android.tools.lint.checks.SupportAnnotationDetector$CallVisitor.checkCall(SupportAnnotationDetector.java:1688)
at com.android.tools.lint.checks.SupportAnnotationDetector$CallVisitor.visitMethodInvocation(SupportAnnotationDetector.java:1659)
at com.android.tools.lint.client.api.JavaVisitor$DispatchVisitor.visitMethodInvocation(JavaVisitor.java:1077)
at com.android.tools.lint.client.api.JavaVisitor$DelegatingJavaVisitor.visitMethodInvocation(JavaVisitor.java:1445)
at lombok.ast.MethodInvocation.accept(MethodInvocation.java:114)
at lombok.ast.VariableDefinitionEntry.accept(VariableDefinitionEntry.java:105)
at lombok.ast.VariableDefinition.accept(VariableDefinition.java:155)
at lombok.ast.VariableDeclaration.accept(VariableDeclaration.java:103)
at lombok.ast.Block.accept(Block.java:106)
at lombok.ast.MethodDeclaration.accept(MethodDeclaration.java:240)
at lombok.ast.NormalTypeBody.accept(NormalTypeBody.java:57)
at lombok.ast.ClassDeclaration.accept(ClassDeclaration.java:239)
at lombok.ast.CompilationUnit.accept(CompilationUnit.java:83)
at com.android.tools.lint.client.api.JavaVisitor.visitFile(JavaVisitor.java:274)
at com.android.tools.lint.client.api.LintDriver.checkJava(LintDriver.java:1529)
at com.android.tools.lint.client.api.LintDriver.runFileDetectors(LintDriver.java:1063)
at com.android.tools.lint.client.api.LintDriver.checkProject(LintDriver.java:908)
at com.android.tools.lint.client.api.LintDriver.analyze(LintDriver.java:436)
at com.android.tools.lint.client.api.LintDriver.analyze(LintDriver.java:377)
at com.android.tools.lint.LintCliClient.run(LintCliClient.java:131)
at com.android.build.gradle.internal.LintGradleClient.run(LintGradleClient.java:133)
at com.android.build.gradle.internal.LintGradleClient$run.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at com.android.build.gradle.tasks.Lint.runLint(Lint.groovy:223)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:182)
at com.android.build.gradle.tasks.Lint.lintSingleVariant(Lint.groovy:198)
at com.android.build.gradle.tasks.Lint$lintSingleVariant$2.callCurrent(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:174)
at com.android.build.gradle.tasks.Lint.lint(Lint.groovy:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:227)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:48)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
at org.gradle.launcher.Main.doAction(Main.java:33)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
:app:prePackageMarkerForRelease
:app:transformClassesWithRobustForRelease
================robust start================
read all class file cost 0.095 second
===robust print id start===
key is com.meituan.sample.MainActivity.onCreate(android.os.Bundle) value is 1
key is com.meituan.sample.MainActivity.isGrantSDCardReadPermission() value is 2
key is com.meituan.sample.MainActivity.requestPermission() value is 3
key is com.meituan.sample.MainActivity.onRequestPermissionsResult(int,java.lang.String[],int[]) value is 4
key is com.meituan.sample.MainActivity.handlePermissionResult() value is 5
key is com.meituan.sample.MainActivity.runRobust() value is 6
key is com.meituan.sample.MainActivity$1.onClick(android.view.View) value is 7
key is com.meituan.sample.MainActivity$2.onClick(android.view.View) value is 8
key is com.meituan.sample.MainActivity$3.onClick(android.view.View) value is 9
key is com.meituan.sample.PatchManipulateImp.fetchPatchList(android.content.Context) value is 10
key is com.meituan.sample.PatchManipulateImp.verifyPatch(android.content.Context,com.meituan.robust.Patch) value is 11
key is com.meituan.sample.PatchManipulateImp.copy(java.lang.String,java.lang.String) value is 12
key is com.meituan.sample.PermissionUtils.checkSelfPermission(android.content.Context,java.lang.String) value is 13
key is com.meituan.sample.PermissionUtils.isGrantSDCardReadPermission(android.content.Context) value is 14
key is com.meituan.sample.PermissionUtils.requestSDCardReadPermission(android.app.Activity,int) value is 15
key is com.meituan.sample.RobustCallBackSample.onPatchListFetched(boolean,boolean,java.util.List) value is 16
key is com.meituan.sample.RobustCallBackSample.onPatchFetched(boolean,boolean,com.meituan.robust.Patch) value is 17
key is com.meituan.sample.RobustCallBackSample.onPatchApplied(boolean,com.meituan.robust.Patch) value is 18
key is com.meituan.sample.RobustCallBackSample.logNotify(java.lang.String,java.lang.String) value is 19
key is com.meituan.sample.RobustCallBackSample.exceptionNotify(java.lang.Throwable,java.lang.String) value is 20
key is com.meituan.sample.SecondActivity.onCreate(android.os.Bundle) value is 21
key is com.meituan.sample.SecondActivity.getTextInfo() value is 22
key is com.meituan.sample.SecondActivity.onCreateView(java.lang.String,android.content.Context,android.util.AttributeSet) value is 23
key is com.meituan.sample.SecondActivity.onClick(android.view.View) value is 24
key is com.meituan.sample.SecondActivity.getReflectField(java.lang.String,java.lang.Object) value is 25
key is com.meituan.sample.SecondActivity.getFieldValue(java.lang.String,java.lang.Object) value is 26
key is com.meituan.sample.SecondActivity.lambda$onCreate$0(android.view.View) value is 27
key is com.meituan.sample.SecondActivity$$Lambda$1.onClick(android.view.View) value is 28
===robust print id end===
robust cost 2.115 second
================robust end================
:app:processReleaseJavaRes UP-TO-DATE
:app:transformResourcesWithMergeJavaResForRelease
:app:transformClassesAndResourcesWithProguardForRelease
ProGuard, version 5.2.1
Reading input...
Reading program jar [/Users/sunqi/Robust/app/build/intermediates/transforms/mergeJavaRes/release/jars/2/1f/main.jar] (filtered)
Reading program jar [/Users/sunqi/Robust/app/build/intermediates/transforms/robust/release/jars/1/1f/main.jar] (filtered)
Reading library jar [/Users/sunqi/Library/Android/sdk/platforms/android-23/android.jar]
Reading library jar [/Users/sunqi/Library/Android/sdk/platforms/android-23/optional/org.apache.http.legacy.jar]
Note: duplicate definition of library class [android.net.http.SslCertificate]
Note: duplicate definition of library class [android.net.http.SslError]
Note: duplicate definition of library class [android.net.http.SslCertificate$DName]
Note: duplicate definition of library class [org.apache.http.conn.scheme.SocketFactory]
Note: duplicate definition of library class [org.apache.http.conn.scheme.HostNameResolver]
Note: duplicate definition of library class [org.apache.http.conn.ConnectTimeoutException]
Note: duplicate definition of library class [org.apache.http.params.HttpParams]
Note: there were 7 duplicate class definitions.
(http://proguard.sourceforge.net/manual/troubleshooting.html#duplicateclass)
Initializing...
Note: the configuration refers to the unknown class 'com.google.vending.licensing.ILicensingService'
Note: the configuration refers to the unknown class 'com.android.vending.licensing.ILicensingService'
Note: com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl calls 'Class.getEnclosingClass'
Warning: com.meituan.sample.SecondActivity: can't find referenced class java.lang.invoke.MethodHandles$Lookup
Warning: com.meituan.sample.SecondActivity: can't find referenced class java.lang.invoke.MethodHandles
Warning: com.meituan.sample.SecondActivity$$Lambda$1: can't find referenced class java.lang.invoke.LambdaForm$Hidden
Warning: javassist.tools.rmi.ObjectImporter: can't find referenced class java.applet.Applet
Warning: javassist.tools.rmi.ObjectImporter: can't find referenced class java.applet.Applet
Warning: javassist.tools.rmi.ObjectImporter: can't find referenced class java.applet.Applet
Warning: javassist.tools.rmi.ObjectImporter: can't find referenced class java.applet.Applet
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.AttachingConnector
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.AttachingConnector
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.Connector$Argument
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.Connector$Argument
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.AttachingConnector
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.VirtualMachine
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.Bootstrap
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.VirtualMachineManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.Connector
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.Connector
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequestManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequestManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.VirtualMachine
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.ReferenceType
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.VirtualMachine
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.event.EventQueue
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.VirtualMachine
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.IllegalConnectorArgumentsException
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.VirtualMachine
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.Bootstrap
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.VirtualMachineManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequestManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.event.EventQueue
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.VirtualMachine
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.AttachingConnector
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequestManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.Connector
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.connect.Connector
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequestManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequestManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequestManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.EventRequestManager
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.request.MethodEntryRequest
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.ReferenceType
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.ReferenceType
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.event.EventSet
Warning: javassist.util.HotSwapper: can't find referenced class com.sun.jdi.event.EventQueue
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventSet
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventIterator
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventIterator
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.MethodEntryEvent
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventSet
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventSet
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventIterator
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventSet
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventIterator
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.Event
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventIterator
Warning: javassist.util.HotSwapper$1: can't find referenced class com.sun.jdi.event.EventSet
Warning: okio.DeflaterSink: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
Warning: okio.Okio: can't find referenced class java.nio.file.Files
Warning: okio.Okio: can't find referenced class java.nio.file.Files
Warning: okio.Okio: can't find referenced class java.nio.file.Files
Warning: okio.Okio: can't find referenced class java.nio.file.Path
Warning: okio.Okio: can't find referenced class java.nio.file.OpenOption
Warning: okio.Okio: can't find referenced class java.nio.file.Path
Warning: okio.Okio: can't find referenced class java.nio.file.OpenOption
Warning: okio.Okio: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
Warning: okio.Okio: can't find referenced class java.nio.file.Path
Warning: okio.Okio: can't find referenced class java.nio.file.OpenOption
Warning: okio.Okio: can't find referenced class java.nio.file.Path
Warning: okio.Okio: can't find referenced class java.nio.file.OpenOption
Warning: okio.Okio: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
Note: android.support.v4.media.ParceledListSliceAdapterApi21: can't find dynamically referenced class android.content.pm.ParceledListSlice
Note: android.support.v4.text.ICUCompatApi23: can't find dynamically referenced class libcore.icu.ICU
Note: android.support.v4.text.ICUCompatIcs: can't find dynamically referenced class libcore.icu.ICU
Note: android.support.v7.widget.DrawableUtils: can't find dynamically referenced class android.graphics.Insets
Note: com.google.gson.internal.UnsafeAllocator: can't find dynamically referenced class sun.misc.Unsafe
Note: com.squareup.okhttp.internal.Platform: can't find dynamically referenced class com.android.org.conscrypt.OpenSSLSocketImpl
Note: com.squareup.okhttp.internal.Platform: can't find dynamically referenced class org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl
Note: javassist.bytecode.ClassFile: can't find dynamically referenced class java.lang.invoke.CallSite
Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'icon' dynamically
Maybe this is program field 'android.support.design.R$attr { int icon; }'
Maybe this is program field 'android.support.design.R$id { int icon; }'
Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { int icon; }'
Maybe this is program field 'android.support.v7.appcompat.R$attr { int icon; }'
Maybe this is program field 'android.support.v7.appcompat.R$id { int icon; }'
Maybe this is program field 'com.meituan.sample.R$attr { int icon; }'
Maybe this is program field 'com.meituan.sample.R$id { int icon; }'
Maybe this is library field 'android.R$attr { int icon; }'
Maybe this is library field 'android.R$id { int icon; }'
Maybe this is library field 'android.app.LauncherActivity$ListItem { android.graphics.drawable.Drawable icon; }'
Maybe this is library field 'android.app.Notification { int icon; }'
Maybe this is library field 'android.app.Notification$Action { int icon; }'
Maybe this is library field 'android.appwidget.AppWidgetProviderInfo { int icon; }'
Maybe this is library field 'android.content.pm.PackageItemInfo { int icon; }'
Maybe this is library field 'android.content.pm.ResolveInfo { int icon; }'
Maybe this is library field 'android.inputmethodservice.Keyboard$Key { android.graphics.drawable.Drawable icon; }'
Maybe this is library field 'android.speech.tts.TextToSpeech$EngineInfo { int icon; }'
Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'title' dynamically
Maybe this is program field 'android.support.design.R$attr { int title; }'
Maybe this is program field 'android.support.design.R$id { int title; }'
Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { java.lang.CharSequence title; }'
Maybe this is program field 'android.support.v7.appcompat.R$attr { int title; }'
Maybe this is program field 'android.support.v7.appcompat.R$id { int title; }'
Maybe this is program field 'com.meituan.sample.R$attr { int title; }'
Maybe this is program field 'com.meituan.sample.R$id { int title; }'
Maybe this is library field 'android.R$attr { int title; }'
Maybe this is library field 'android.R$id { int title; }'
Maybe this is library field 'android.app.Notification$Action { java.lang.CharSequence title; }'
Maybe this is library field 'android.preference.PreferenceActivity$Header { java.lang.CharSequence title; }'
Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'actionIntent' dynamically
Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { android.app.PendingIntent actionIntent; }'
Maybe this is library field 'android.app.Notification$Action { android.app.PendingIntent actionIntent; }'
Note: android.support.v4.app.NotificationManagerCompatKitKat accesses a declared field 'OP_POST_NOTIFICATION' dynamically
Maybe this is program field 'android.support.v4.app.NotificationManagerCompatKitKat { java.lang.String OP_POST_NOTIFICATION; }'
Note: com.google.gson.internal.UnsafeAllocator accesses a declared field 'theUnsafe' dynamically
Note: javassist.util.proxy.ProxyFactory accesses a declared field 'handler' dynamically
Maybe this is program field 'com.squareup.okhttp.internal.framed.FramedConnection { com.squareup.okhttp.internal.framed.IncomingStreamHandler handler; }'
Maybe this is program field 'com.squareup.okhttp.internal.framed.FramedConnection$Builder { com.squareup.okhttp.internal.framed.IncomingStreamHandler handler; }'
Maybe this is program field 'com.squareup.picasso.Dispatcher { android.os.Handler handler; }'
Maybe this is program field 'com.squareup.picasso.Picasso$CleanupThread { android.os.Handler handler; }'
Maybe this is program field 'com.squareup.picasso.Stats { android.os.Handler handler; }'
Maybe this is program field 'javassist.bytecode.analysis.Analyzer$ExceptionInfo { int handler; }'
Maybe this is program field 'javassist.util.proxy.ProxyFactory { javassist.util.proxy.MethodHandler handler; }'
Maybe this is program field 'javassist.util.proxy.SerializedProxy { javassist.util.proxy.MethodHandler handler; }'
Maybe this is library field 'android.content.AsyncQueryHandler$WorkerArgs { android.os.Handler handler; }'
Note: the configuration keeps the entry point 'android.support.design.widget.NavigationView { void setNavigationItemSelectedListener(android.support.design.widget.NavigationView$OnNavigationItemSelectedListener); }', but not the descriptor class 'android.support.design.widget.NavigationView$OnNavigationItemSelectedListener'
Note: the configuration keeps the entry point 'android.support.design.widget.Snackbar$SnackbarLayout { void setOnLayoutChangeListener(android.support.design.widget.Snackbar$SnackbarLayout$OnLayoutChangeListener); }', but not the descriptor class 'android.support.design.widget.Snackbar$SnackbarLayout$OnLayoutChangeListener'
Note: the configuration keeps the entry point 'android.support.design.widget.Snackbar$SnackbarLayout { void setOnAttachStateChangeListener(android.support.design.widget.Snackbar$SnackbarLayout$OnAttachStateChangeListener); }', but not the descriptor class 'android.support.design.widget.Snackbar$SnackbarLayout$OnAttachStateChangeListener'
Note: the configuration keeps the entry point 'android.support.design.widget.TabLayout { void setOnTabSelectedListener(android.support.design.widget.TabLayout$OnTabSelectedListener); }', but not the descriptor class 'android.support.design.widget.TabLayout$OnTabSelectedListener'
Note: the configuration keeps the entry point 'android.support.design.widget.TabLayout { void setupWithViewPager(android.support.v4.view.ViewPager); }', but not the descriptor class 'android.support.v4.view.ViewPager'
Note: the configuration keeps the entry point 'android.support.design.widget.TabLayout { void setTabsFromPagerAdapter(android.support.v4.view.PagerAdapter); }', but not the descriptor class 'android.support.v4.view.PagerAdapter'
Note: the configuration keeps the entry point 'android.support.design.widget.TabLayout$TabView { void setTab(android.support.design.widget.TabLayout$Tab); }', but not the descriptor class 'android.support.design.widget.TabLayout$Tab'
Note: the configuration keeps the entry point 'android.support.v4.view.ViewPager { void setAdapter(android.support.v4.view.PagerAdapter); }', but not the descriptor class 'android.support.v4.view.PagerAdapter'
Note: the configuration keeps the entry point 'android.support.v4.view.ViewPager { void setOnPageChangeListener(android.support.v4.view.ViewPager$OnPageChangeListener); }', but not the descriptor class 'android.support.v4.view.ViewPager$OnPageChangeListener'
Note: the configuration keeps the entry point 'android.support.v4.widget.DrawerLayout { void setDrawerListener(android.support.v4.widget.DrawerLayout$DrawerListener); }', but not the descriptor class 'android.support.v4.widget.DrawerLayout$DrawerListener'
Note: the configuration keeps the entry point 'android.support.v4.widget.NestedScrollView { void setOnScrollChangeListener(android.support.v4.widget.NestedScrollView$OnScrollChangeListener); }', but not the descriptor class 'android.support.v4.widget.NestedScrollView$OnScrollChangeListener'
Note: the configuration keeps the entry point 'android.support.v4.widget.SlidingPaneLayout { void setPanelSlideListener(android.support.v4.widget.SlidingPaneLayout$PanelSlideListener); }', but not the descriptor class 'android.support.v4.widget.SlidingPaneLayout$PanelSlideListener'
Note: the configuration keeps the entry point 'android.support.v4.widget.SwipeRefreshLayout { void setOnRefreshListener(android.support.v4.widget.SwipeRefreshLayout$OnRefreshListener); }', but not the descriptor class 'android.support.v4.widget.SwipeRefreshLayout$OnRefreshListener'
Note: the configuration keeps the entry point 'android.support.v4.widget.SwipeRefreshLayout { void setOnChildScrollUpCallback(android.support.v4.widget.SwipeRefreshLayout$OnChildScrollUpCallback); }', but not the descriptor class 'android.support.v4.widget.SwipeRefreshLayout$OnChildScrollUpCallback'
Note: the configuration keeps the entry point 'android.support.v7.view.menu.ActionMenuItemView { void setItemInvoker(android.support.v7.view.menu.MenuBuilder$ItemInvoker); }', but not the descriptor class 'android.support.v7.view.menu.MenuBuilder$ItemInvoker'
Note: the configuration keeps the entry point 'android.support.v7.view.menu.ActionMenuItemView { void setPopupCallback(android.support.v7.view.menu.ActionMenuItemView$PopupCallback); }', but not the descriptor class 'android.support.v7.view.menu.ActionMenuItemView$PopupCallback'
Note: the configuration keeps the entry point 'android.support.v7.widget.ActionBarContainer { void setTabContainer(android.support.v7.widget.ScrollingTabContainerView); }', but not the descriptor class 'android.support.v7.widget.ScrollingTabContainerView'
Note: the configuration keeps the entry point 'android.support.v7.widget.ActionBarOverlayLayout { void setActionBarVisibilityCallback(android.support.v7.widget.ActionBarOverlayLayout$ActionBarVisibilityCallback); }', but not the descriptor class 'android.support.v7.widget.ActionBarOverlayLayout$ActionBarVisibilityCallback'
Note: the configuration keeps the entry point 'android.support.v7.widget.ActionMenuView { void setPresenter(android.support.v7.widget.ActionMenuPresenter); }', but not the descriptor class 'android.support.v7.widget.ActionMenuPresenter'
Note: the configuration keeps the entry point 'android.support.v7.widget.ActionMenuView { void setOnMenuItemClickListener(android.support.v7.widget.ActionMenuView$OnMenuItemClickListener); }', but not the descriptor class 'android.support.v7.widget.ActionMenuView$OnMenuItemClickListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.ActivityChooserView { void setActivityChooserModel(android.support.v7.widget.ActivityChooserModel); }', but not the descriptor class 'android.support.v7.widget.ActivityChooserModel'
Note: the configuration keeps the entry point 'android.support.v7.widget.ActivityChooserView { void setProvider(android.support.v4.view.ActionProvider); }', but not the descriptor class 'android.support.v4.view.ActionProvider'
Note: the configuration keeps the entry point 'android.support.v7.widget.ContentFrameLayout { void setAttachListener(android.support.v7.widget.ContentFrameLayout$OnAttachListener); }', but not the descriptor class 'android.support.v7.widget.ContentFrameLayout$OnAttachListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.FitWindowsFrameLayout { void setOnFitSystemWindowsListener(android.support.v7.widget.FitWindowsViewGroup$OnFitSystemWindowsListener); }', but not the descriptor class 'android.support.v7.widget.FitWindowsViewGroup$OnFitSystemWindowsListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.FitWindowsLinearLayout { void setOnFitSystemWindowsListener(android.support.v7.widget.FitWindowsViewGroup$OnFitSystemWindowsListener); }', but not the descriptor class 'android.support.v7.widget.FitWindowsViewGroup$OnFitSystemWindowsListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.MenuPopupWindow$MenuDropDownListView { void setHoverListener(android.support.v7.widget.MenuItemHoverListener); }', but not the descriptor class 'android.support.v7.widget.MenuItemHoverListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setAccessibilityDelegateCompat(android.support.v7.widget.RecyclerViewAccessibilityDelegate); }', but not the descriptor class 'android.support.v7.widget.RecyclerViewAccessibilityDelegate'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setAdapter(android.support.v7.widget.RecyclerView$Adapter); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$Adapter'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setRecyclerListener(android.support.v7.widget.RecyclerView$RecyclerListener); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$RecyclerListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$LayoutManager'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setOnFlingListener(android.support.v7.widget.RecyclerView$OnFlingListener); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$OnFlingListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setRecycledViewPool(android.support.v7.widget.RecyclerView$RecycledViewPool); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$RecycledViewPool'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setViewCacheExtension(android.support.v7.widget.RecyclerView$ViewCacheExtension); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$ViewCacheExtension'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setChildDrawingOrderCallback(android.support.v7.widget.RecyclerView$ChildDrawingOrderCallback); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$ChildDrawingOrderCallback'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setOnScrollListener(android.support.v7.widget.RecyclerView$OnScrollListener); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$OnScrollListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.RecyclerView { void setItemAnimator(android.support.v7.widget.RecyclerView$ItemAnimator); }', but not the descriptor class 'android.support.v7.widget.RecyclerView$ItemAnimator'
Note: the configuration keeps the entry point 'android.support.v7.widget.SearchView { void setOnQueryTextListener(android.support.v7.widget.SearchView$OnQueryTextListener); }', but not the descriptor class 'android.support.v7.widget.SearchView$OnQueryTextListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.SearchView { void setOnCloseListener(android.support.v7.widget.SearchView$OnCloseListener); }', but not the descriptor class 'android.support.v7.widget.SearchView$OnCloseListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.SearchView { void setOnSuggestionListener(android.support.v7.widget.SearchView$OnSuggestionListener); }', but not the descriptor class 'android.support.v7.widget.SearchView$OnSuggestionListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.SearchView { void setSuggestionsAdapter(android.support.v4.widget.CursorAdapter); }', but not the descriptor class 'android.support.v4.widget.CursorAdapter'
Note: the configuration keeps the entry point 'android.support.v7.widget.SearchView$SearchAutoComplete { void setSearchView(android.support.v7.widget.SearchView); }', but not the descriptor class 'android.support.v7.widget.SearchView'
Note: the configuration keeps the entry point 'android.support.v7.widget.Toolbar { void setOnMenuItemClickListener(android.support.v7.widget.Toolbar$OnMenuItemClickListener); }', but not the descriptor class 'android.support.v7.widget.Toolbar$OnMenuItemClickListener'
Note: the configuration keeps the entry point 'android.support.v7.widget.ViewStubCompat { void setOnInflateListener(android.support.v7.widget.ViewStubCompat$OnInflateListener); }', but not the descriptor class 'android.support.v7.widget.ViewStubCompat$OnInflateListener'
Note: there were 2 references to unknown classes.
You should check your configuration for typos.
(http://proguard.sourceforge.net/manual/troubleshooting.html#unknownclass)
Note: there were 1 classes trying to access enclosing classes using reflection.
You should consider keeping the inner classes attributes
(using '-keepattributes InnerClasses').
(http://proguard.sourceforge.net/manual/troubleshooting.html#attributes)
Note: there were 43 unkept descriptor classes in kept class members.
You should consider explicitly keeping the mentioned classes
(using '-keep').
(http://proguard.sourceforge.net/manual/troubleshooting.html#descriptorclass)
Note: there were 8 unresolved dynamic references to classes or interfaces.
You should check if you need to specify additional program jars.
(http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass)
Note: there were 6 accesses to class members by means of introspection.
You should consider explicitly keeping the mentioned class members
(using '-keep' or '-keepclassmembers').
(http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclassmember)
Warning: there were 80 unresolved references to classes or interfaces.
You may need to add missing library jars or update their versions.
If your code works fine without the missing classes, you can suppress
the warnings with '-dontwarn' options.
(http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
Note: you're ignoring all warnings!
Ignoring unused library classes...
Original number of library classes: 3880
Final number of library classes: 1117
Printing kept classes, fields, and methods...
Shrinking...
Printing usage to [/Users/sunqi/Robust/app/build/outputs/mapping/release/usage.txt]...
Removing unused program classes and class elements...
Original number of program classes: 2850
Final number of program classes: 1116
Obfuscating...
Printing mapping to [/Users/sunqi/Robust/app/build/outputs/mapping/release/mapping.txt]...
Writing output...
Preparing output jar [/Users/sunqi/Robust/app/build/intermediates/transforms/proguard/release/jars/3/1f/main.jar]
Copying resources from program jar [/Users/sunqi/Robust/app/build/intermediates/transforms/mergeJavaRes/release/jars/2/1f/main.jar] (filtered)
Copying resources from program jar [/Users/sunqi/Robust/app/build/intermediates/transforms/robust/release/jars/1/1f/main.jar] (filtered)
Printing classes to [/Users/sunqi/Robust/app/build/outputs/mapping/release/dump.txt]...
:app:transformClassesWithDexForRelease
:app:mergeReleaseJniLibFolders
:app:transformNative_libsWithMergeJniLibsForRelease
:app:validateMeituanSigning
:app:packageRelease
:app:zipalignRelease
:app:assembleRelease
:patch:compileReleaseSources
:patch:assembleRelease
BUILD SUCCESSFUL