Внезапно при синхронизации Gradle я получаю эту ошибку:
ПРЕДУПРЕЖДЕНИЕ: API 'option.getJavaCompile ()' устарел и был заменен на 'variable.getJavaCompileProvider ()'. Он будет удален в конце 2019 года. Для получения дополнительной информации см. Https://d.android.com/r/tools/task-configuration-avoidance Затрагиваемые модули: приложение
У меня есть это build.gradle
для модуля приложения:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'io.fabric'
android {
compileSdkVersion 28
buildToolsVersion "28.0.2"
defaultConfig {
applicationId "..."
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "..."
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
versionNameSuffix = version_suffix
[...]
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
[...]
}
debug {
[...]
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.61"
implementation 'androidx.appcompat:appcompat:1.0.0-rc02'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation "com.android.support:preference-v7:28.0.0"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
implementation 'com.google.android.material:material:1.0.0-rc02'
[...]
}
Я могу правильно скомпилировать приложение, но это немного напрягает, и, на мой взгляд, что-то перестанет работать в конце 2019 года. Есть идеи, что это такое и как это решить?
Ответы:
Эта проблема исправлена с обновлением Fabric Gradle версии 1.30.0:
Обновление: 19 марта 2019 г.
Пожалуйста, смотрите эту ссылку: https://docs.fabric.io/android/changelog.html#march-15-2019
Пожалуйста, обновите вашу зависимость от classpath на уровне проекта Gradle:
источник
classpath 'io.fabric.tools:gradle:1.29.0'
. Что я должен делать?Я сталкиваюсь с этой проблемой после обновления до 3.3.0
Если вы не делаете, какие состояния ошибки в файле Gradle, это некоторый плагин, который все еще не обновился до более нового API, который вызывает это. Чтобы выяснить, какой плагин это, сделайте следующее (как объяснено в «Лучшей отладочной информации при использовании устаревшего API» объявления 3.3.0 ):
Надеюсь, что это помогает другим
источник
android.debug.obsoleteApi=true
, чтобы прочитать зарегистрированные данные: перейдите на вкладку Build внизу и в окне «Build Output» нажмите «Toggle View». Когда вы нажмете, что красивые, цвета исчезнут, прокрутите вверх, где написаноWARNING: API 'variant.getAssemble()' is obsolete
. Затем под ним, это показываетREASON: Called from:
... в моем случае это было из-за medium.com/@xabaras/…В моем случае это было вызвано из gms сервисов 4.3.0. Поэтому я должен был изменить его на:
Я нашел это, запустив:
в терминале. Перейти к просмотру -> окна инструментов -> Терминал в Android Studio.
источник
./
перед командой, то есть, если терминал установлен в корне вашего проекта Android. В противном случае вам придется перейти к корню проекта.Это всего лишь предупреждение, и оно, вероятно, будет исправлено до 2019 года с обновлениями плагинов, так что не беспокойтесь об этом. Я бы порекомендовал вам использовать совместимые версии ваших плагинов и Gradle.
Вы можете проверить свою версию плагина и версию Gradle здесь для лучшего опыта и производительности.
https://developer.android.com/studio/releases/gradle-plugin
Попробуйте использовать стабильные версии для гладкого и безошибочного кода.
источник
Я также столкнулся с той же проблемой. И после некоторого поиска я понял, что предупреждение возникает из-за использования последней версии
google-services
плагина (версия 4.3.0). Кстати, я использовал этот плагин для функциональности Firebase в моем приложении. Все, что я сделал, это понизил мойgoogle-services
плагин в buildscript в файле уровня build.gradle (Project) следующим образом:источник
Измените версию Служб Google на свою
build.gradle
:источник
Это предупреждение выдается инструментами сборки по двум причинам.
1. Один из плагинов полагается на Task вместо TaskProvider, мы ничего не можем сделать.
2. Вы настроили использование задачи, где она поддерживает TaskProvider.
Ищите фрагменты, как показано ниже и обновите.
Точно так же найдите использования
'variant.getJavaCompile()'
или'variant.javaCompile'
,'variant.getMergeResources()'
или'variant.mergeResources'
. Заменить как указано выше.Больше информации в Избегании Конфигурации Задачи
источник
./gradlew
. Это не имеет ничего общего с AS, это в инструментах сборки. Обновление / понижение доcom.android.tools.build:gradle:3.2.0
& выполнить./gradlew
. Это не придет.variant.generateBuildConfig.enabled
в моем проекте. Я все еще получаю вышеупомянутое предупреждениеvariant.generateBuildConfig.enabled
в моем проекте. Я все еще получаю вышеупомянутое предупреждениеПонижение версии Gradle работало для меня:
источник
1) Добавьте
android.debug.obsoleteApi=true
к своемуgradle.properties
. Он покажет вам, на какие модули влияет ваш журнал предупреждений.2) Обновите эти устаревшие функции.
variant.javaCompile
вvariant.javaCompileProvider
variant.javaCompile.destinationDir
вvariant.javaCompileProvider.get().destinationDir
источник
Обновление версии Kotlin ( Plugin и stdLib ) до 1.3.1 устранило это предупреждение в моем случае. Обновите версию Kotlin во всем проекте, заменив существующую версию Kotlin на:
источник
ext.kotlin_version = '1.2.71'
.. поменял его на ответ выше и все заработало нормально! - я удалил мои/android
и/ios
папки, а затем побежал,flutter create .
чтобы перестроить приложение Flutter, и оно было помещеноext.kotlin_version = '1.2.71'
в мойbuild.gradle
Вернитесь из classpath 'com.android.tools.build:gradle:3.3.0-alpha13' в classpath 'com.android.tools.build:gradle:3.2.0'
это сработало для меня
источник
Обновите плагин Fabric до последней версии в файле Gradle уровня проекта (не на уровне приложения). В моем случае эта линия решила проблему
в
источник
В моем случае
был
обновлено до
выглядит проблема ушла на данный момент
источник
В моем случае мне пришлось закомментировать
com.google.firebase.firebase-crash
плагин:Это ошибка с Android Studio 3.3.0
источник
oss-licenses-plugin
Обновление gradle в gradle: 3.3.0
Задание по умолчанию «сборка» применяется только к обычным вариантам. Добавьте также тестовые варианты.
также комментарий применить ткань
источник
crashlytics { manifestPath = "$buildDir/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml" }
Когда плагин обнаруживает, что вы используете API, который больше не поддерживается, он теперь может предоставить более подробную информацию, чтобы помочь вам определить, где этот API используется. Чтобы увидеть дополнительную информацию, вам нужно включить в файл gradle.properties вашего проекта:
источник
если я удалю эту строку из
application gradle
:ошибка больше не будет появляться
Ссылка на ссылку github
источник
зависимости обновляются до androidX. поэтому, если вы хотите использовать содержимое androidX, перенесите ваш проект на androidX.
В Android Studio 3.2 и выше вы можете быстро перенести существующий проект для использования AndroidX, выбрав Refactor> Migrate to AndroidX в строке меню.
источник
Это решило мою проблему. Все, что мне нужно было сделать, это понизить мой плагин google-services в buildscript в файле уровня build.gradle (Project) следующим образом
источник
Здесь временный обходной путь, если вы используете комнату, просто обновитесь до 1.1.0 или выше
это удаляет это предупреждение для меня.
источник
держать вас в проекте (не в приложении) Build.gradle зависимости от класса путь к версии новый
источник
Это популярный вопрос. Если вы не используете эти методы, решение обновляет библиотеки. Пожалуйста, обновите вашу версию kotlin и все ваши зависимости, такие как fabric , protobuf и т. Д. Если вы уверены, что обновили все, попробуйте обратиться к автору библиотеки.
источник
Обновление protobuf-gradle-plugin до версии 0.8.10 решило мою проблему. Замените свой существующий protobuf на
источник
Это в основном из-за устаревших библиотек. Чтобы проверить наличие новых обновлений вручную, вы должны перейти к
Этого должно быть достаточно. Другой вариант - запустить обновление зависимостей gradle, используя
./gradlew dependencyUpdates
это даст отчет как это:
источник
Обновление сервисов Google на уровне проекта
build.gradle
решило мою проблему.После обновления:
источник
У меня была та же проблема, и она была решена путем определения версии плагина kotlin gradle в файле build.gradle.
изменить это
в
источник
В моем случае я следовал этому . Резюме на уровне приложения Gradle: измените это:
в
источник