Meituan-Dianping / Robust

Robust is an Android HotFix solution with high compatibility and high stability. Robust can fix bugs immediately without a reboot.
Apache License 2.0
4.41k stars 806 forks source link

跑Demo未生成patch #322

Open sunqi94600 opened 5 years ago

sunqi94600 commented 5 years ago

运行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