解决Configuration 'compile' is obsolete and has been replaced with implementation

项目中Gradle版本升级到4.4后,项目构建时,每次出现红色的警告信息:api

WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation'. It will be removed at the end of 2018 Affected Modules: MyCorn-MyCorn 复制代码

但本地项目代码中compile都已经完成了implementation,警告信息依然出现。 一开始百思不得解,警告信息相对过于简单,且对应模块也已经所有完成了替换。bash

最终考虑使用命令进行项目构建过程,以指望能获取具体的进一步详情信息,所以,输出完整debug日志。app

./gradlew assembleDevDebug --debug  >  ~/T/gralde.log 
复制代码

输出的gralde.log日志信息很大,搜索对应的警告信息。post

...
17:17:48.796 [DEBUG] [org.gradle.internal.progress.DefaultBuildOperationExecutor] Build operation 'Apply plugin corn-auto-collector to project ':MyCorn'' started 17:17:48.802 [DEBUG] [org.gradle.api.internal.artifacts.mvnsettings.DefaultLocalMavenRepositoryLocator] No local repository in Settings file defined. Using default path: /Users/corn/.m2/repository 17:17:48.805 [WARN] [org.gradle.api.Project] WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation'. It will be removed at the end of 2018 17:17:48.860 [DEBUG] [org.gradle.internal.progress.DefaultBuildOperationExecutor] Completing Build operation 'Apply plugin corn-auto-collector to project ':MyCorn'' ... 复制代码

对应的,咱们发现是项目中应用了自实现的corn-auto-collector插件,而插件中并未将compile替换成implementationgradle

修改对应插件的依赖配置,从新构建发现警告信息消失。ui

Android Studio默认构建时日志是-q级别输出,在必要的时候咱们能够修改默认构建日志输出级别。 最经常使用的有两种方式:
1,修改Android Studio >> Preferences >> Build >> Compiler >> Command-line Options,加入对应日志级别参数,如经常使用的--debug,--stacktrace
2,直接使用对应的gradle命令,加上对应的命令参数。spa

实际项目构建过程当中,出现的构建问题,每每日志信息都很简单,并不能一次性定位到问题所在,经过附加参数形式的去获取完整的日志信息,以便详细定位到项目构建过程当中的具体问题,很是有效,在实际项目构建过程能够常常使用。插件

做者:HappyCorn 连接:https://juejin.im/post/5caf35d7e51d456e7079f1f0 来源:掘金 著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。
相关文章
相关标签/搜索