Как решить эту «конфигурацию« компиляция »устарела и была заменена на« реализацию »и« api ».» - PullRequest
0 голосов
/ 10 марта 2019

Когда я пытаюсь использовать проблему с GitHub.Я сдаю

Конфигурация 'compile' устарела и была заменена на 'реализация' и 'api'.

Я пытаюсь использовать Просмотр календаря материалов

Мой выпускник:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    buildToolsVersion '28.0.3'
    defaultConfig {
        applicationId "com.mederov.timelord"
        minSdkVersion 15
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}



dependencies {
    compile 'com.applandeo:material-calendar-view:1.5.1'
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.android.support:support-v4:28.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'com.github.bumptech.glide:glide:4.4.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.4.0'
    implementation 'de.hdodenhof:circleimageview:3.0.0'

}

Ответы [ 2 ]

1 голос
/ 10 марта 2019

В более поздних версиях Gradle compile был заменен на api и implementation.

api предоставляет зависимости внешним модулям, как compile. Таким образом, если у вас есть модуль A, зависит от модуля B, который зависит от C, если изменяется C, то A необходимо перекомпилировать. Команда Gradle признала, что во многих случаях это было не нужно, поэтому она ввела implementation, поэтому, если C изменяет только модули, которые зависят от него, придется перекомпилировать, что означает только модуль B. Это сокращает время сборки и делает проект намного более аккуратным.

Короче говоря, если вы замените все compile на api, результат будет таким же, и это то, к чему относится предупреждение.

Однако, как правило, вы должны использовать implementation, когда это возможно, чтобы избежать загрязнения проекта зависимостями.

Я бы сначала попытался заменить compile на implementation и построить проект.

Эта ссылка имеет гораздо лучшее объяснение и визуализацию различий.

1 голос
/ 10 марта 2019

Вы можете изменить эту строку compile 'com.applandeo:material-calendar-view:1.5.1'

на эту implementation 'com.applandeo:material-calendar-view:1.5.1'

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