У меня проблемы с последним обновлением Android Studio Gradle 3.3.1 - PullRequest
0 голосов
/ 21 февраля 2019

Я недавно переключился на classpath 'com.android.tools.build:gradle:3.3.1' и свойства оболочки установлены на distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip.

Я использую следующие зависимости:

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    testImplementation 'junit:junit:4.12'
    implementation 'com.android.support:multidex:1.0.2'
    implementation "com.google.android.gms:play-services-maps:$playServicesVersion"
    implementation "com.google.android.gms:play-services-gcm:$playServicesVersion"
    implementation "com.google.android.gms:play-services-location:$playServicesVersion"
    implementation "com.google.firebase:firebase-messaging:$playServicesVersion"
    implementation 'com.roomorama:caldroid:3.0.0'
    implementation "com.android.support:appcompat-v7:$supportLibraryVersion"
    implementation "com.android.support:design:$supportLibraryVersion"
    implementation "com.android.support:recyclerview-v7:$supportLibraryVersion"
    implementation "com.android.support:cardview-v7:$supportLibraryVersion"
    implementation "com.jakewharton:butterknife:$butterknife"
    annotationProcessor "com.jakewharton:butterknife-compiler:$butterknife"
    implementation 'com.balysv:material-ripple:1.0.2'
    implementation 'com.github.bumptech.glide:glide:4.6.1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
    // retrofit dependency
    implementation "com.squareup.retrofit2:retrofit:$retrofit"
    implementation 'com.squareup.retrofit2:converter-gson:2.0.2'
    implementation 'com.squareup.retrofit2:adapter-rxjava:2.0.2'

    // rx dependency
    implementation 'io.reactivex:rxandroid:1.2.1'
    implementation 'io.reactivex:rxjava:1.3.4'

    // network client api
    implementation "com.squareup.okhttp3:okhttp:$okhttp"
    implementation "com.squareup.okhttp3:logging-interceptor:$okhttp"

    //DI dependency
    compileOnly 'javax.annotation:jsr250-api:1.0'
    implementation 'de.hdodenhof:circleimageview:2.0.0'
    implementation 'com.kbeanie:image-chooser-library:1.6.0@aar'
    implementation('com.crashlytics.sdk.android:crashlytics:2.6.1@aar') {
        transitive = true
    }
    implementation 'pl.charmas.android:android-reactive-location2:2.1@aar'
    implementation 'io.reactivex.rxjava2:rxjava:2.1.9'
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
    implementation "com.squareup.retrofit2:adapter-rxjava2:$retrofit"
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.journeyapps:zxing-android-embedded:3.5.0'
}

, а номера версий указаны следующим образом:

ext {
    minSdkVersion = 14
    targetSdkVersion = 22
    compileSdkVersion = 27
    supportLibraryVersion = '27.1.1'
    playServicesVersion = '12.0.0'
    versionCode = 12
    versionName = "1.74"
    butterknife = "8.8.1"
    retrofit = "2.2.0"
    okhttp = "3.7.0"
    dragger = "2.12"
}

Я получаю эти предупреждения, возможно, из-за того, что ButterKnife [ButterKnife также несовместим с AndroidX] :

Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
API 'variant.getAssemble()' is obsolete and has been replaced with 'variant.getAssembleProvider()'.
API 'variantOutput.getProcessResources()' is obsolete and has been replaced with 'variantOutput.getProcessResourcesProvider()'.
API 'variantOutput.getProcessManifest()' is obsolete and has been replaced with 'variantOutput.getProcessManifestProvider()'.
API 'variant.getMergeResources()' is obsolete and has been replaced with 'variant.getMergeResourcesProvider()'. 
API 'variant.getMergeAssets()' is obsolete and has been replaced with 'variant.getMergeAssetsProvider()'.   
API 'variant.getPackageApplication()' is obsolete and has been replaced with 'variant.getPackageApplicationProvider()'. 
API 'variant.getExternalNativeBuildTasks()' is obsolete and has been replaced with 'variant.getExternalNativeBuildProviders()'.

Мой вопрос такой, есть ли что-то очень серьезное, или я должен игнорировать?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

С помощью ответа, данного @AntonisRadz, я один за другим проверял, какая зависимость выдает это предупреждение.

Предупреждения были из-за старой версии «Служб Google», иодна версия 'Crashlytics', оба объявлены как classpath dependencies в главном проекте build.gradle.

  1. Необходимо регулярно обновлять зависимости.Для справки gradle помечает зависимости «желтоватым» фоном, который необходимо обновить.Сделайте 'alt + enter' для него, чтобы получить номер последней версии, и обновите его, щелкнув по нему.

  2. Попробуйте использовать обновленные API и избегайте "устаревших"или «устаревшие».

Вопрос вообще не связан с «Butterknife», поскольку после удаления его зависимостей предупреждения все еще были.

Наконец,мой последний уровень проекта build.gradle частично выглядит так:

// Top-level build file where you can add configuration options
//common to all sub-projects/modules.
buildscript {
    repositories {
        // jcenter()
        google()
        jcenter {
            url "http://jcenter.bintray.com"
        }
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.1'
        classpath "io.realm:realm-gradle-plugin:4.1.1"
        classpath 'com.google.gms:google-services:4.2.0'
        classpath 'io.fabric.tools:gradle:1.27.1'
    }
    //due to google services older version, and crashlytics latest version:
//        WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
//                It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
//        Affected Modules: app
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

Happy Coding: -)

0 голосов
/ 21 февраля 2019

Я бы порекомендовал вам откат к предыдущей версии Gradle.На самом деле это больше, чем просто предупреждения, поскольку они могут повлиять на редактор кода и помешать вам искать ссылки на классы.

Просто подождите, пока соответствующие библиотеки обновятся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...