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.42k stars 807 forks source link

示例程序无法生成补丁 #453

Open liziwl opened 3 years ago

liziwl commented 3 years ago

异常类型:编译异常

手机型号:Nexus 5

手机系统版本:Android 10

Robust版本:如:0.4.96

Gradle版本:如:2.10

系统:Mac

app/build/outputs/robust/patch.jar 没有生成

堆栈/日志:

gradle init: (BintrayJCenter: https://jcenter.bintray.com/) removed
gradle init: (BintrayJCenter: https://jcenter.bintray.com/) removed
gradle init: (BintrayJCenter: https://jcenter.bintray.com/) removed
gradle init: (BintrayJCenter: https://jcenter.bintray.com/) removed
gradle init: (BintrayJCenter: https://jcenter.bintray.com/) removed
gradle init: (BintrayJCenter: https://jcenter.bintray.com/) removed
gradle init: (BintrayJCenter: https://jcenter.bintray.com/) removed
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:prepareComAndroidSupportAnimatedVectorDrawable2540Library
:app:prepareComAndroidSupportAppcompatV72540Library
:app:prepareComAndroidSupportDesign2540Library
:app:prepareComAndroidSupportRecyclerviewV72540Library
:app:prepareComAndroidSupportSupportCompat2540Library
:app:prepareComAndroidSupportSupportCoreUi2540Library
:app:prepareComAndroidSupportSupportCoreUtils2540Library
:app:prepareComAndroidSupportSupportFragment2540Library
:app:prepareComAndroidSupportSupportMediaCompat2540Library
:app:prepareComAndroidSupportSupportV42540Library
:app:prepareComAndroidSupportSupportVectorDrawable2540Library
:app:prepareComAndroidSupportTransition2540Library
:app:prepareComMeituanRobustPatch0499Library
: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/ziqiangli/research/Robust/app/src/main/java/com/meituan/sample/PatchManipulateImp.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。

:app:compileRetrolambdaRelease
:app:compileReleaseNdk UP-TO-DATE
:app:compileReleaseSources
:app:prePackageMarkerForRelease
:app:transformClassesWithRobustForRelease
================robust start================
read all class file cost 0.137 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.printLog(java.lang.String,java.lang.String[][])  value is    27
key is   com.meituan.sample.SecondActivity.lambda$onCreate$0(android.view.View)  value is    28
key is   com.meituan.sample.SecondActivity$$Lambda$1.onClick(android.view.View)  value is    29
===robust print id end===
robust cost 2.092 second
================robust   end================
:app:processReleaseJavaRes UP-TO-DATE
:app:transformResourcesWithMergeJavaResForRelease
:app:transformClassesAndResourcesWithProguardForRelease
ProGuard, version 5.2.1
Reading input...
Reading program jar [/Users/ziqiangli/research/Robust/app/build/intermediates/transforms/mergeJavaRes/release/jars/2/1f/main.jar] (filtered)
Reading program jar [/Users/ziqiangli/research/Robust/app/build/intermediates/transforms/robust/release/jars/1/1f/main.jar] (filtered)
Reading library jar [/Users/ziqiangli/Library/Android/sdk/platforms/android-25/android.jar]
Reading library jar [/Users/ziqiangli/Library/Android/sdk/platforms/android-25/optional/org.apache.http.legacy.jar]
Note: duplicate definition of library class [android.net.http.HttpResponseCache]
Note: duplicate definition of library class [android.net.http.SslCertificate$DName]
Note: duplicate definition of library class [android.net.http.SslError]
Note: duplicate definition of library class [android.net.http.SslCertificate]
Note: duplicate definition of library class [org.apache.http.params.CoreConnectionPNames]
Note: duplicate definition of library class [org.apache.http.params.HttpConnectionParams]
Note: duplicate definition of library class [org.apache.http.params.HttpParams]
Note: duplicate definition of library class [org.apache.http.conn.scheme.SocketFactory]
Note: duplicate definition of library class [org.apache.http.conn.scheme.LayeredSocketFactory]
Note: duplicate definition of library class [org.apache.http.conn.scheme.HostNameResolver]
Note: duplicate definition of library class [org.apache.http.conn.ConnectTimeoutException]
Note: there were 11 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.app.ResourcesFlusher: can't find dynamically referenced class android.content.res.ThemedResourceCache
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: the configuration keeps the entry point 'android.support.design.internal.BottomNavigationMenuView { void setPresenter(android.support.design.internal.BottomNavigationPresenter); }', but not the descriptor class 'android.support.design.internal.BottomNavigationPresenter'
Note: the configuration keeps the entry point 'android.support.design.widget.BaseTransientBottomBar$SnackbarBaseLayout { void setOnLayoutChangeListener(android.support.design.widget.BaseTransientBottomBar$OnLayoutChangeListener); }', but not the descriptor class 'android.support.design.widget.BaseTransientBottomBar$OnLayoutChangeListener'
Note: the configuration keeps the entry point 'android.support.design.widget.BaseTransientBottomBar$SnackbarBaseLayout { void setOnAttachStateChangeListener(android.support.design.widget.BaseTransientBottomBar$OnAttachStateChangeListener); }', but not the descriptor class 'android.support.design.widget.BaseTransientBottomBar$OnAttachStateChangeListener'
Note: the configuration keeps the entry point 'android.support.design.widget.BottomNavigationView { void setOnNavigationItemSelectedListener(android.support.design.widget.BottomNavigationView$OnNavigationItemSelectedListener); }', but not the descriptor class 'android.support.design.widget.BottomNavigationView$OnNavigationItemSelectedListener'
Note: the configuration keeps the entry point 'android.support.design.widget.BottomNavigationView { void setOnNavigationItemReselectedListener(android.support.design.widget.BottomNavigationView$OnNavigationItemReselectedListener); }', but not the descriptor class 'android.support.design.widget.BottomNavigationView$OnNavigationItemReselectedListener'
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.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 { void setScrollAnimatorListener(android.support.design.widget.ValueAnimatorCompat$AnimatorListener); }', but not the descriptor class 'android.support.design.widget.ValueAnimatorCompat$AnimatorListener'
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.graphics.drawable.VectorDrawableCompat$VPath { void setPathData(android.support.graphics.drawable.PathParser$PathDataNode[]); }', but not the descriptor class 'android.support.graphics.drawable.PathParser$PathDataNode'
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 48 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 9 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)
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: 4237
  Final number of library classes:    1186
Printing kept classes, fields, and methods...
Shrinking...
Printing usage to [/Users/ziqiangli/research/Robust/app/build/outputs/mapping/release/usage.txt]...
Removing unused program classes and class elements...
  Original number of program classes: 3047
  Final number of program classes:    1167
Obfuscating...
Printing mapping to [/Users/ziqiangli/research/Robust/app/build/outputs/mapping/release/mapping.txt]...
Writing output...
Preparing output jar [/Users/ziqiangli/research/Robust/app/build/intermediates/transforms/proguard/release/jars/3/1f/main.jar]
  Copying resources from program jar [/Users/ziqiangli/research/Robust/app/build/intermediates/transforms/mergeJavaRes/release/jars/2/1f/main.jar] (filtered)
  Copying resources from program jar [/Users/ziqiangli/research/Robust/app/build/intermediates/transforms/robust/release/jars/1/1f/main.jar] (filtered)
Printing classes to [/Users/ziqiangli/research/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

Total time: 17.17 secs
liziwl commented 3 years ago

已解决,跑示例程序时候一定要启用app/build.gradle中的plugin

// 取消下面行的注释
apply plugin: 'auto-patch-plugin'
liziwl commented 3 years ago

创建了更新文档的pr https://github.com/Meituan-Dianping/Robust/pull/454