异常类型:编译异常
手机型号:红米Note 4
手机系统版本:Android 7.0
tinker版本:1.9.9
gradle版本:3.0.1
是否使用热更新SDK: Bugly SDK
系统:Windows
堆栈/日志:
Note: there were 2 library classes explicitly being kept.
You don't need to keep library classes; they are already left unchanged.
(http://proguard.sourceforge.net/manual/troubleshooting.html#libraryclass)
Note: there were 118 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: android.arch.core.internal.SafeIterableMap: method 'int size()' is not being kept as 'a', but remapped to 'equals'
Warning: com.bumptech.glide.Glide: method 'com.bumptech.glide.manager.RequestManagerRetriever getRequestManagerRetriever()' is not being kept as 'f', but remapped to 'c'
Warning: com.bumptech.glide.load.engine.bitmap_recycle.BitmapPoolAdapter: method 'android.graphics.Bitmap get(int,int,android.graphics.Bitmap$Config)' is not being kept as 'a', but remapped to 'b'
Warning: com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool: method 'android.graphics.Bitmap get(int,int,android.graphics.Bitmap$Config)' is not being kept as 'b', but remapped to 'a'
Warning: com.bumptech.glide.util.MultiClassKey: method 'void set(java.lang.Class,java.lang.Class)' is not being kept as '<init>', but remapped to 'a'
Warning: com.bumptech.glide.util.Util: method 'int hashCode(int,int)' is not being kept as 'b', but remapped to 'a'
Warning: com.fasterxml.jackson.core.Base64Variant: method 'char getPaddingChar()' is not being kept as 'b', but remapped to 'a'
Warning: com.fasterxml.jackson.core.JsonParser$Feature: method 'int getMask()' is not being kept as 'a', but remapped to 'b'
Warning: com.fasterxml.jackson.core.JsonProcessingException: method 'com.fasterxml.jackson.core.JsonLocation getLocation()' is not being kept as 'b', but remapped to 'getMessage'
Warning: com.fasterxml.jackson.core.base.ParserMinimalBase: method 'void _reportError(java.lang.String)' is not being kept as 'a', but remapped to 'b'
Warning: com.fasterxml.jackson.core.base.ParserMinimalBase: method 'void _reportError(java.lang.String)' is not being kept as 'b', but remapped to 'd'
Warning: com.fasterxml.jackson.core.base.ParserMinimalBase: method 'void _reportError(java.lang.String)' is not being kept as 'd', but remapped to 'e'
Warning: com.fasterxml.jackson.core.base.ParserMinimalBase: method 'void _reportError(java.lang.String)' is not being kept as 'e', but remapped to 'c'
Warning: com.fasterxml.jackson.core.base.ParserMinimalBase: method 'void _reportError(java.lang.String)' is not being kept as 'c', but remapped to 'a'
Warning: com.fasterxml.jackson.core.base.ParserMinimalBase: method 'void _reportError(java.lang.String)' is not being kept as 'a', but remapped to 'e'
Warning: com.google.android.flexbox.FlexboxHelper: method 'int extractLowerInt(long)' is not being kept as 'a', but remapped to 'b'
Warning: com.google.android.flexbox.FlexboxHelper: method 'int extractHigherInt(long)' is not being kept as 'a', but remapped to 'b'
Warning: com.google.android.flexbox.FlexboxHelper: method 'int extractLowerInt(long)' is not being kept as 'b', but remapped to 'a'
Warning: com.google.android.flexbox.FlexboxLayout: method 'boolean isMainAxisDirectionHorizontal()' is not being kept as 'f', but remapped to 'h'
Warning: com.google.android.flexbox.FlexboxLayout: method 'boolean isMainAxisDirectionHorizontal()' is not being kept as 'h', but remapped to 'f'
Warning: com.google.android.flexbox.FlexboxLayout: method 'boolean isMainAxisDirectionHorizontal()' is not being kept as 'f', but remapped to 'a'
Warning: com.google.android.flexbox.FlexboxLayout: method 'boolean isMainAxisDirectionHorizontal()' is not being kept as 'a', but remapped to 'd'
Warning: com.google.android.flexbox.FlexboxLayout: method 'boolean isMainAxisDirectionHorizontal()' is not being kept as 'd', but remapped to 'e'
Warning: com.google.android.flexbox.FlexboxLayoutManager: method 'boolean isMainAxisDirectionHorizontal()' is not being kept as 'e', but remapped to 'f'
Warning: com.google.gson.JsonPrimitive: method 'boolean isBoolean()' is not being kept as 'j', but remapped to 'f'
Warning: com.google.gson.JsonPrimitive: method 'boolean isNumber()' is not being kept as 'k', but remapped to 'b'
Warning: com.google.gson.JsonPrimitive: method 'boolean isBoolean()' is not being kept as 'f', but remapped to 'b'
Warning: com.google.gson.JsonPrimitive: method 'boolean isNumber()' is not being kept as 'b', but remapped to 'c'
Warning: com.google.gson.JsonPrimitive: method 'boolean isNumber()' is not being kept as 'c', but remapped to 'd'
Warning: com.google.gson.JsonPrimitive: method 'boolean isNumber()' is not being kept as 'd', but remapped to 'e'
Warning: com.google.protobuf.micro.b: method 'int e()' is not being kept as 'b', but remapped to 'd'
Warning: com.liulishuo.filedownloader.download.CustomComponentHolder: method 'com.liulishuo.filedownloader.download.CustomComponentHolder getImpl()' is not being kept as 'a', but remapped to 'c'
Warning: com.liulishuo.filedownloader.model.ConnectionModel: method 'long getCurrentOffset()' is not being kept as 'd', but remapped to 'a'
Warning: com.liulishuo.filedownloader.model.ConnectionModel: method 'long getStartOffset()' is not being kept as 'c', but remapped to 'a'
Warning: com.liulishuo.filedownloader.model.FileDownloadModel: method 'boolean isPathAsDirectory()' is not being kept as 'getTargetFilePath', but remapped to 'f'
Warning: com.liulishuo.filedownloader.model.FileDownloadModel: method 'int getId()' is not being kept as 'a', but remapped to 'toContentValues'
Warning: com.liulishuo.filedownloader.model.FileDownloadModel: method 'long getSoFar()' is not being kept as 'c', but remapped to 'toContentValues'
Warning: com.liulishuo.filedownloader.model.FileDownloadModel: method 'long getTotal()' is not being kept as 'd', but remapped to 'toContentValues'
Warning: com.liulishuo.filedownloader.model.FileDownloadModel: method 'int getConnectionCount()' is not being kept as 'g', but remapped to 'toContentValues'
Warning: com.liulishuo.filedownloader.model.FileDownloadModel: method 'boolean isPathAsDirectory()' is not being kept as 'f', but remapped to 'toContentValues'
Warning: com.nearme.aidl.UserEntity: method 'void setResult(int)' is not being kept as 'a', but remapped to 'd'
Warning: com.nearme.aidl.UserEntity: method 'void setResultMsg(java.lang.String)' is not being kept as 'c', but remapped to 'd'
Warning: com.nearme.aidl.UserEntity: method 'void setUsername(java.lang.String)' is not being kept as 'a', but remapped to 'd'
Warning: com.nearme.aidl.UserEntity: method 'void setAuthToken(java.lang.String)' is not being kept as 'b', but remapped to 'd'
Warning: com.newtech.common.filetransfer.core.TransMgr: method 'int getMaxDownloadTasks()' is not being kept as 'a', but remapped to 'c'
Warning: com.newtech.common.filetransfer.core.TransMgr: method 'int getMaxUploadTasks()' is not being kept as 'a', but remapped to 'd'
Warning: com.tencent.open.a.d$c: method 'long c()' is not being kept as 'a', but remapped to 'toString'
Warning: com.tencent.open.utils.l: method 'int b()' is not being kept as 'equals', but remapped to 'b'
Warning: com.theartofdev.edmodo.cropper.CropOverlayView: method 'android.graphics.RectF getCropWindowRect()' is not being kept as 'a', but remapped to 'b'
Warning: com.xgame.allgames.views.tablayoutext.TabLayoutExt: method 'int getTabCount()' is not being kept as 'a', but remapped to 'c'
Warning: com.xgame.allgames.views.tablayoutext.TabLayoutExt: method 'void selectTab(com.xgame.allgames.views.tablayoutext.TabLayoutExt$Tab)' is not being kept as 'c', but remapped to 'a'
Warning: com.xgame.app.GlideRequests: method 'com.xgame.app.GlideRequest asBitmap()' is not being kept as 'g', but remapped to 'd'
Warning: com.xgame.app.ServerConfig: method 'java.lang.String getBaseDomain()' is not being kept as 'a', but remapped to 'f'
Warning: com.xgame.app.ServerConfig: method 'java.lang.String getBaseDomain()' is not being kept as 'f', but remapped to 'b'
Warning: com.xgame.app.ServerConfig: method 'java.lang.String getH5Domain()' is not being kept as 'c', but remapped to '<clinit>'
Warning: com.xgame.battle.model.Player: method 'com.xgame.battle.model.Player setAvatar(java.lang.String)' is not being kept as 'b', but remapped to 'a'
Warning: com.xgame.battle.model.Player: method 'com.xgame.battle.model.Player setGender(int)' is not being kept as 'b', but remapped to 'a'
Warning: com.xgame.home2.utils.SizeConfig: method 'void setBottomPadding(int)' is not being kept as '<init>', but remapped to 'a'
Warning: com.xgame.socket.impl.SocketService: method 'com.xgame.socket.model.IWebSocket getSocketInstance()' is not being kept as '<init>', but remapped to 'b'
Warning: com.xgame.socket.impl.SocketService: method 'com.xgame.socket.model.IWebSocket getSocketInstance()' is not being kept as 'b', but remapped to 'a'
Warning: com.xgame.socket.impl.SocketService: method 'void connect()' is not being kept as 'c', but remapped to 'onLogin'
Warning: com.xgame.socket.impl.SocketService: method 'com.xgame.socket.model.IWebSocket getSocketInstance()' is not being kept as 'a', but remapped to 'onLoginOut'
Warning: com.xgame.socket.impl.SocketService: method 'com.xgame.socket.model.IWebSocket getSocketInstance()' is not being kept as 'onLoginOut', but remapped to 'l'
Warning: com.xgame.socket.impl.SocketService: method 'com.xgame.socket.model.IWebSocket getSocketInstance()' is not being kept as 'l', but remapped to 'a'
Warning: com.xgame.ui.activity.home.welfare.gift.GiftFragment: method 'void changeViewStatus$389fa970(int)' is not being kept as 'a', but remapped to 'g'
Warning: com.xgame.ui.activity.home.welfare.gift.GiftFragment: method 'void changeViewStatus$389fa970(int)' is not being kept as 'g', but remapped to 'a'
Warning: com.xgame.ui.activity.home.welfare.topic.TopicFragment: method 'void changeViewStatus$389fa970(int)' is not being kept as 'a', but remapped to 'g'
Warning: com.xgame.ui.activity.home.welfare.topic.TopicFragment: method 'void changeViewStatus$389fa970(int)' is not being kept as 'g', but remapped to 'a'
Warning: com.xgame.uisupport.wheelview.ItemsRange: method 'int getFirst()' is not being kept as 'a', but remapped to 'b'
Warning: com.xgame.uisupport.wheelview.ItemsRange: method 'int getCount()' is not being kept as 'b', but remapped to 'c'
Warning: com.xgame.uisupport.wheelview.ItemsRange: method 'int getFirst()' is not being kept as 'b', but remapped to 'a'
Warning: com.xgame.uisupport.wheelview.WheelView: method 'com.xgame.uisupport.wheelview.WheelViewAdapter getViewAdapter()' is not being kept as 'a', but remapped to 'onTouchEvent'
Warning: com.xgame.xwebview.AbstractWebViewActivity: method 'void loadUrl(java.lang.String)' is not being kept as 'onCreate', but remapped to 'e'
Warning: com.xgame.xwebview.BaseActivityJsCallback: method 'com.xgame.xwebview.AbstractWebViewActivity getAttachedActivity()' is not being kept as 'a', but remapped to 'b'
Warning: com.xgame.xwebview.BaseActivityJsCallback: method 'com.xgame.xwebview.AbstractWebViewActivity getAttachedActivity()' is not being kept as 'b', but remapped to 'a'
Warning: com.xgame.xwebview.BaseActivityJsCallback: method 'com.xgame.xwebview.AbstractWebViewActivity getAttachedActivity()' is not being kept as 'a', but remapped to 'b'
Warning: com.xgame.xwebview.BaseActivityJsCallback: method 'com.xgame.xwebview.AbstractWebViewActivity getAttachedActivity()' is not being kept as 'b', but remapped to 'c'
Warning: com.xgame.xwebview.BaseActivityJsCallback: method 'com.xgame.xwebview.AbstractWebViewActivity getAttachedActivity()' is not being kept as 'c', but remapped to 'd'
Warning: com.xgame.xwebview.BaseActivityJsCallback: method 'com.xgame.xwebview.AbstractWebViewActivity getAttachedActivity()' is not being kept as 'd', but remapped to 'e'
Warning: in.srain.cube.views.ptr.PtrFrameLayout: method 'boolean dispatchTouchEventSupper(android.view.MotionEvent)' is not being kept as 'a', but remapped to 'dispatchTouchEvent'
Warning: in.srain.cube.views.ptr.PtrFrameLayout: method 'boolean dispatchTouchEventSupper(android.view.MotionEvent)' is not being kept as 'dispatchTouchEvent', but remapped to 'a'
Warning: in.srain.cube.views.ptr.PtrFrameLayout: method 'boolean dispatchTouchEventSupper(android.view.MotionEvent)' is not being kept as 'a', but remapped to 'k'
Warning: in.srain.cube.views.ptr.indicator.PtrIndicator: method 'int getOffsetToRefresh()' is not being kept as 'g', but remapped to 'o'
Warning: in.srain.cube.views.ptr.indicator.PtrIndicator: method 'int getOffsetToRefresh()' is not being kept as 'o', but remapped to 'r'
Warning: there were 84 kept classes and class members that were remapped anyway.
You should adapt your configuration or edit the mapping file.
If you are sure this remapping won't hurt, you could try your luck
using the '-ignorewarnings' option.
(http://proguard.sourceforge.net/manual/troubleshooting.html#mappingconflict1)
Warning: Exception while processing task java.io.IOException: Please correct the above warnings first.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.
> Job failed, see logs for details
* Try:
Run with --info or --debug option to get more log output.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.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:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:124)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:80)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:105)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:99)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: java.lang.RuntimeException: Job failed, see logs for details
at com.android.build.gradle.internal.transforms.ProGuardTransform.transform(ProGuardTransform.java:196)
at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:222)
at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:218)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)
at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:213)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:173)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:122)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
... 27 more
Caused by: java.io.IOException: Please correct the above warnings first.
at proguard.obfuscate.Obfuscator.execute(Obfuscator.java:176)
at proguard.ProGuard.obfuscate(ProGuard.java:355)
at proguard.ProGuard.execute(ProGuard.java:152)
at com.android.build.gradle.internal.transforms.BaseProguardAction.runProguard(BaseProguardAction.java:61)
at com.android.build.gradle.internal.transforms.ProGuardTransform.doMinification(ProGuardTransform.java:253)
at com.android.build.gradle.internal.transforms.ProGuardTransform.access$000(ProGuardTransform.java:63)
at com.android.build.gradle.internal.transforms.ProGuardTransform$1.run(ProGuardTransform.java:173)
at com.android.builder.tasks.Job.runTask(Job.java:47)
at com.android.build.gradle.tasks.SimpleWorkQueue$EmptyThreadContext.runTask(SimpleWorkQueue.java:41)
at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:259)
* Get more help at https://help.gradle.org
BUILD FAILED in 1m 50s
180 actionable tasks: 10 executed, 170 up-to-date
Tinker是一个开源项目,希望大家遇到问题时要学会先思考,看看sample与Tinker的源码,更鼓励大家给我们提pr.
Issue/提问须知
在提交issue之前,我们应该先查询是否已经有相关的issue以及常见问题。提交issue时,我们需要写明issue的原因,以及编译或运行过程的日志(加载进程以及Patch进程)。issue需要以下面的格式: