optionOutput.getPackageApplication () устарел

Попробуйте sprintf . Например:

vsprintf('The first 4 letters of the english alphabet are: %s, %s, %s and %s', ['a', 'b', 'c', 'd']);

8
задан Martin Zeitler 15 January 2019 в 21:52
поделиться

4 ответа

variableOutput.getPackageApplication () вызывается измененным вариантом API.

изменение output.outputFile.parent на variant.getPackageApplicationProvider().get().outputs.files[1] является, по крайней мере, временным решением проблемы.

источник: @Selvin .


variable.getExternalNativeBuildTasks () вызывается плагином io.fabric.

следующая версия плагина io.fabric будет использовать variant.getExternalNativeBuildProviders().

источник: 116408637 ; подтверждение для обещанного исправления.


Я бы едва предложил понизить рейтинг, но в настоящее время самым простым и минимальным усилием может быть:

buildscript {
    repositories {
        google()
        maven { url "https://maven.fabric.io/public" }
    }
    dependencies {
        //noinspection GradleDependency
        classpath "com.android.tools.build:gradle:3.2.1"
        classpath "io.fabric.tools:gradle:1.26.1"
    }
}

, ни один из этих warnings никак не меняет поведение .

0
ответ дан Martin Zeitler 15 January 2019 в 21:52
поделиться

Раньше я писал так:

android.applicationVariants.all { variant ->
    if ("release" == variant.buildType.name) {
        variant.outputs.all { output ->
            outputFileName = output.outputFile.name.replace("-release", "")
        }
        variant.assemble.doLast {
            variant.outputs.all { output ->
                delete output.outputFile.parent + "/output.json"
                copy {
                    from output.outputFile.parent
                    into output.outputFile.parentFile.parent
                }
                delete output.outputFile.parent
            }
        }
    }
}

Предупреждение появляется каждый раз, как при открытии AS, синхронизации, очистке ...

Затем я нашел способ написать, он будет появляться только в сборке, но не будет появляться каждый раз.

android.applicationVariants.all { variant ->
    if ("release" == variant.buildType.name) {
        assembleRelease.doLast {
            variant.outputs.all { output ->
                delete output.outputFile.parent + "/output.json"
                copy {
                    from output.outputFile.parent
                    into output.outputFile.parentFile.parent
                    rename { filename ->
                        filename.replace("-release", "")
                    }
                }
                delete output.outputFile.parent
            }
        }
    }
}

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

0
ответ дан Ness Curie 15 January 2019 в 21:52
поделиться

Обновлен плагин Fabric gradle до 1.28.0

dependencies {
   classpath 'io.fabric.tools:gradle:1.28.0'
}
0
ответ дан Vladyslav Panchenko 15 January 2019 в 21:52
поделиться

Можно также использовать более старую версию gradle. Я изменил свою gradle версию с 3.5.0 до 3.2.1, и она работала. enter image description here

0
ответ дан 29 November 2019 в 00:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: