更新到AndroidX库和Gradle 3.4.2之后的问题

时间:2019-08-01 11:07:36

标签: android android-studio gradle android-gradle-plugin androidx

我有一个使用webview的简单应用程序。我想在我的应用程序中使用androidx和gradle 3.4.2。这样我就对gradle文件进行了一些更改。见下文:

在应用程序级别的gradle文件中:

android {
    compileSdkVersion 28
    .........
    defaultConfig {
       .........
        minSdkVersion 16
        targetSdkVersion 28
        .........
    }
   .........
}
repositories {
    mavenCentral()
}
dependencies {
    .........
    implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
    implementation 'com.google.android.material:material:1.1.0-alpha09'
    implementation 'com.google.firebase:firebase-core:17.0.1'
    implementation 'com.google.android.gms:play-services-tagmanager:17.0.0'
    implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
    implementation 'com.google.firebase:firebase-perf:18.0.1'
    .........
}

apply plugin: 'com.google.gms.google-services'

在项目级别的gradle文件中:

buildscript {
    repositories {
        google()
        jcenter()
        maven {
            url 'https://maven.fabric.io/public'
        }

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.2'
        classpath 'com.google.gms:google-services:4.3.0'
        classpath 'com.google.firebase:perf-plugin:1.3.0'
        classpath 'io.fabric.tools:gradle:1.31.0'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

在gradle.properties文件中:

systemProp.http.proxyPassword=
systemProp.http.proxyHost=.....
systemProp.http.proxyUser=.....
systemProp.http.proxyPort=8080
android.useAndroidX=true
android.enableJetifier=true

但是同步项目后,我得到了一些警告。项目构建并成功运行。我想删除这些警告,但我不知道如何删除这些警告。这些将来可能会造成问题吗?
请参阅以下警告:

第一
此版本使用了不推荐使用的Gradle功能,使其与Gradle 6.0不兼容。
使用'--warning-mode all'显示各个弃用警告。
参见https://docs.gradle.org/5.1.1/userguide/command_line_interface.html#sec:command_line_warnings

第二
在1秒钟内成功建立
14个可执行任务:已执行3个,最新11个
警告:API'variant.getMergeResources()'已过时,已被'variant.getMergeResourcesProvider()'取代。 它将在2019年底删除。
有关更多信息,请参见https://d.android.com/r/tools/task-configuration-avoidance
要确定正在调用variant.getMergeResources()的内容,请在命令行上使用-Pandroid.debug.obsoleteApi = true来显示更多信息。
受影响的模块:应用

1 个答案:

答案 0 :(得分:0)

第一

  

在此版本中使用了不推荐使用的Gradle功能,因此   与Gradle 6.0不兼容。

See this reply

第二

  

警告:API'variant.getMergeResources()'已过时,并且已经   替换为“ variant.getMergeResourcesProvider()”。这将是   在2019年底删除。

发生此警告消息是因为您在应用程序中添加的某些库正在使用过时的代码。您可以忽略此消息,它不会造成任何问题。

要确定是哪个库造成了此问题,请执行以下操作,

您可以在gradle.properties文件中包含android.debug.obsoleteApi=true

重建项目,您将能够在日志猫中查看有关此问题的详细信息。