обновление build.gradle с 2.3.3 до 3.4.1, и я по-прежнему получаю предупреждения о том, что «compile» заменяется «реализацией»? - PullRequest
1 голос
/ 02 июля 2019

Я посмотрел похожие посты, но так как я не использую com.google.gms, я немного потерял, где еще искать, а также я обновил все ссылки на реализации (ранее компилируемые).

Здесь предупреждения, которые я получаю в своем приложении / build.gradle

ПРЕДУПРЕЖДЕНИЕ: API 'sequenceOutput.getPackageApplication ()' устарел и был заменен на 'variable.getPackageApplicationProvider ()'. Он будет удален в конце 2019 года. Для получения дополнительной информации см. https://d.android.com/r/tools/task-configuration-avoidance. Чтобы определить, что вызывает optionOutput.getPackageApplication (), используйте -Pandroid.debug.obsoleteApi = true в командной строке для отображения дополнительной информации. Затронутые модули: приложение

ВНИМАНИЕ: Конфигурация 'compile' устарела и была заменена на 'реализация' и 'api'. Он будет удален в конце 2018 года. Для получения дополнительной информации см .: http://d.android.com/r/tools/update-dependency-configurations.html Затронутые модули: приложение

ВНИМАНИЕ: Конфигурация 'debugCompile' устарела и была заменена на 'debugImplementation' и 'debugApi'. Он будет удален в конце 2018 года. Для получения дополнительной информации см .: http://d.android.com/r/tools/update-dependency-configurations.html Затронутые модули: приложение

// changed from gradle 2.3.3 to gradle 3.4.1 syntax as per 
// google developer sites and gradle blogs

// app/build.gradle:

#import java.text.DateFormat
#import java.text.SimpleDateFormat

// migrate from Android Studio with gradle:2.3.3 
// to Android Studio with gradle:3.4.1
// jm*20190531

buildscript {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.jakewharton.hugo:hugo-plugin:1.2.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

apply plugin: 'com.android.application'
apply plugin: 'hugo'
apply plugin: 'maven'


/*  **

    some methods to build app names with date, git-commit, version numbers
    here omitted

**  */

android {
    compileSdkVersion 28   // jm*20190405
    buildToolsVersion "28.0.3"   // "25.0.3"

    defaultConfig {
        minSdkVersion 16           /*** was: 9, then: 14 ***/
        targetSdkVersion 28        /*** was: 21, then: 25 ***/
        buildConfigField "String", "BUILD_DATE", "\"" + todayIso8601() + "\""
        buildConfigField "String", "SHORT_COMMIT_HASH", "\"" + getShortCommitHash() + "\""
    }

    signingConfigs {
        create("myConfig") {
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeType "jks"
        }
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        //    signingConfig = signingConfigs.wxConfig
        }
    }

    flavorDimensions 'vox'    // jm*20190512

    productFlavors {
        voxDigits {
            applicationId "net.wavvox.VoxDigits13"
            versionCode versionCodeVoxDigits()
            versionName versionNameVoxDigits()
            dimension 'vox'
        }
        voxChat {
            applicationId "net.wavvox.voxchat"
            versionCode versionCodeVoxChat()
            versionName versionNameVoxChat()
            dimension 'vox'
        }

        // Rename APK for the appropriate productFlavor
        applicationVariants.all { variant ->
            //variant.outputs.every { output ->
            variant.outputs.all { output ->
                String flavorName = variant.productFlavors[0].name
                System.out.println("***** flavorName: " + flavorName)
                def relativeRootDir = output.packageApplication.outputDirectory.toPath()
                                            .relativize(rootDir.toPath()).toFile()
                def relativeRootDir0 = "../../.."

                switch (flavorName) {   // jm*20190405
                    case "voxChat":
                        //output.outputFile = new File(output.outputFile.parent,
                        //        output.outputFile.name.replace("app-voxChat", apkNameVoxChat)) );
                        output.outputFileName = new File("$relativeRootDir"+"/"+"app",
                                output.outputFileName.replace("app-voxChat", apkNameVoxChat()) )
                        break
                    case "voxDigits":
                        //output.outputFile = new File(output.outputFile.parent,
                        //        output.outputFile.name.replace("app-voxDigits", apkNameVoxDigits()) );
                        output.outputFileName = new File( "$relativeRootDir"+"/"+"app",
                                output.outputFileName.replace("app-voxDigits", apkNameVoxDigits()) )
                        break
                    default:
                        System.out.println("!!!!! unknown flavorName: " + flavorName + " !!!!!")
                        // old method, gradle:2.3.3
                        //output.outputFile = new File(output.outputFile.parent,
                        //        output.outputFile.name.replace(".apk","-${finalVersion}.apk"))
                        // new method, gradle:3.4.1
                        //outputFileName = new File(output.outputFile.parent,
                        //        outputFileName.replace(".apk", "-${finalVersionCode}.apk"))
                        break
                }   // switch

                System.out.println("relativeRootDir: " + relativeRootDir)
                System.out.println("output.outputFileName: " + output.outputFileName)
            }
        }
    } // End productFlavors block

}


dependencies {
    /* WavvoxLibrary AAR module */
    implementation project(':wavvoxlibrary')

    /* Google Android support libraries */
    implementation 'com.android.support:support-annotations:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:design:28.0.0'

    /* Dagger 2 */
    implementation 'com.google.dagger:dagger:2.22.1'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.22.1'
    compileOnly 'javax.annotation:jsr250-api:1.0'

    /* Progress Circle */
    implementation 'com.github.jakob-grabner:Circle-Progress-View:v1.3'
}


/*  **

    not quite sure about Dagger and Progress Circle;
    got inherited from some older projects 

**  */

Я хочу разобраться с этими предупреждениями, научиться отлаживать и найти источник проблемы; предупреждения не являются описательными ....

Спасибо, JM.

1 Ответ

0 голосов
/ 02 июля 2019

Проблема в том, что некоторые библиотеки, которые вы используете, могут использовать компиляцию вместо реализации, проверяя библиотеки, которые вы используете, которых немного в данный момент.

Я вижу, что библиотека com.github.jakob-grabner: Circle-Progress-View: v1.3 использует компиляцию для добавления зависимости com.android.support:support-annotations:25.1.0, по следующей ссылке вы можете увидеть, что они используют компиляцию вместо API, реализации и т. Д. ( версия Gradle1.3 ).

Просматривая хранилище библиотеки, я вижу, что есть более новая версия, и это версия 1.4 ( gradle версия 1.4 ), если она обновлена, и добавьтезависимость с использованием ключевого слова api,

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

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