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
异常类型:编译异常
手机型号:Nexus 5
手机系统版本:Android 10
Robust版本:如:0.4.96
Gradle版本:如:2.10
系统:Mac
app/build/outputs/robust/patch.jar
没有生成堆栈/日志: