错误:“配置 'compile' 已过时并已被替换为 'implementation'.",即使 gradle 中不存在 'compile' [英] Error :"Configuration 'compile' is obsolete and has been replaced with 'implementation'.", even though no 'compile' present in gradle
问题描述
我有以下 gradle 文件,但我找不到任何可以保证警告配置‘编译’已过时并已被‘实现’替换的内容."
第一个模块 Gradle 文件:
First Module Gradle file:
buildscript {
repositories { maven { url 'https://maven.fabric.io/public' } }
dependencies { classpath 'io.fabric.tools:gradle:1.24.1' }
}
repositories {
maven { url 'https://maven.fabric.io/public' }
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'io.fabric'
apply plugin: 'kotlin-kapt'
def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android {
compileSdkVersion 27
defaultConfig {
multiDexEnabled true
applicationId "com.example.something"
minSdkVersion 19
targetSdkVersion 27
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
vectorDrawables.useSupportLibrary = true
}
dataBinding { enabled = true }
flavorDimensions "flavors"
productFlavors {
flavorBeta {
minSdkVersion 19
applicationId 'com.example.something'
targetSdkVersion 27
versionCode 1000012
versionName "beta test"
dimension "flavors"
}
}
signingConfigs {
config {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
debug {
}
release {
minifyEnabled true
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
debuggable false
}
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation('com.crashlytics.sdk.android:crashlytics:2.8.0@aar') {
transitive = true
}
// kotlin:
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
implementation "org.jetbrains.anko:anko-common:$anko_version"
implementation "org.jetbrains.anko:anko-commons:$anko_version"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.21.2'
// support libraries:
implementation "com.android.support:recyclerview-v7:$support_version"
implementation "com.android.support:support-v4:$support_version"
implementation "com.android.support:design:$support_version"
implementation "com.android.support:appcompat-v7:$support_version"
implementation "com.android.support:cardview-v7:$support_version"
implementation "com.android.support:support-vector-drawable:$support_version"
// misc:
implementation 'com.github.d-max:spots-dialog:0.7@aar'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'com.android.support.constraint:constraint-layout:1.1.0-beta4'
implementation 'com.backendless:backendless:4.4.0'
implementation 'io.nlopez.smartlocation:library:3.3.2'
// Google services:
implementation "com.google.firebase:firebase-core:$google_services_version"
implementation "com.google.firebase:firebase-auth:$google_services_version"
implementation 'com.firebaseui:firebase-ui-auth:3.1.3'
implementation "com.google.android.gms:play-services-location:$google_services_version"
implementation "com.google.android.gms:play-services-auth:$google_services_version"
}
apply plugin: 'com.google.gms.google-services'
/////////////////////AND/////////////////////强>
///////////////////// AND ////////////////////
以下是一个项目级的Gradle文件:
And the following is a project level Gradle file:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.2.21'
ext.support_version = '27.0.2'
ext.anko_version = '0.10.3'
ext.android_plugin_version = '3.0.1'
ext.google_services_version = '11.8.0'
repositories {
google()
jcenter()
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0-beta1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.google.gms:google-services:3.1.1'
}
}
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
////////////////////////////
//////////////////////////
已我正在添加用于同步和构建的完整日志:
Executing tasks: [:app:generateFlavorBetaDebugSources]
Configuration on demand is an incubating feature.
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation'.
It will be removed at the end of 2018
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
app: 'annotationProcessor' dependencies won't be recognized as kapt annotation processors. Please change the configuration name to 'kapt' for these artifacts: 'com.android.databinding:compiler:3.1.0-beta3'.
:app:preBuild UP-TO-DATE
:app:preFlavorBetaDebugBuild UP-TO-DATE
:app:compileFlavorBetaDebugAidl UP-TO-DATE
:app:compileFlavorBetaDebugRenderscript UP-TO-DATE
:app:checkFlavorBetaDebugManifest UP-TO-DATE
:app:generateFlavorBetaDebugBuildConfig UP-TO-DATE
:app:prepareLintJar UP-TO-DATE
:app:mainApkListPersistenceFlavorBetaDebug UP-TO-DATE
:app:mergeFlavorBetaDebugShaders UP-TO-DATE
:app:compileFlavorBetaDebugShaders UP-TO-DATE
:app:generateFlavorBetaDebugAssets UP-TO-DATE
:app:mergeFlavorBetaDebugAssets
:app:processFlavorBetaDebugGoogleServices
Parsing json file: C:\Users\some_path\app\google-services.json
:app:createFlavorBetaDebugCompatibleScreenManifests UP-TO-DATE
:app:processFlavorBetaDebugManifest UP-TO-DATE
:app:fabricGenerateResourcesFlavorBetaDebug
:app:generateFlavorBetaDebugResValues UP-TO-DATE
:app:generateFlavorBetaDebugResources UP-TO-DATE
:app:mergeFlavorBetaDebugResources
:app:splitsDiscoveryTaskFlavorBetaDebug UP-TO-DATE
:app:processFlavorBetaDebugResources
:app:generateFlavorBetaDebugSources
BUILD SUCCESSFUL in 19s
18 actionable tasks: 5 executed, 13 up-to-date
同步日志:
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
app: 'annotationProcessor' dependencies won't be recognized as kapt annotation processors. Please change the configuration name to 'kapt' for these artifacts: 'com.android.databinding:compiler:3.1.0-beta3'.
CONFIGURE SUCCESSFUL in 22s
推荐答案
问题在于apply plugin: 'com.google.gms.google-services'
The problem lies in apply plugin: 'com.google.gms.google-services'
Google 服务插件正在代表您添加依赖项.希望他们在未来修复它.
The Google Services plugin is adding a dependency on behalf of you. Hopefully they fix it in the future.
我从 stackoverflow 链接下面复制了答案.https://stackoverflow.com/a/49059867/4782538.感谢@Niklas 的回答.
I copy answer from below stackoverflow link. https://stackoverflow.com/a/49059867/4782538. Thanks @Niklas for answer.
这篇关于错误:“配置 'compile' 已过时并已被替换为 'implementation'.",即使 gradle 中不存在 'compile'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!