Використання нової андроїд-студії з новим 3.0.0 Gradle pluging.
Під час будівництва траплялося якесь попередження:
registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
Використання нової андроїд-студії з новим 3.0.0 Gradle pluging.
Під час будівництва траплялося якесь попередження:
registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
Відповіді:
З того, що я можу сказати, плагіни, додані як залежність класу, будуть створювати проблеми. Тобто Firebase мала проблему з цим. Ложка і тремтіння також. Здійснення цього пошуку в Google виявляє багато репост GitHub з проблемою, порушеною над тією ж справою, і все їх спільне - це той факт, що це плагін Gradle. Тканина, здається, також є причиною, як згадував Mate *
З того, що я можу сказати, проблема виникає з / декількох плагінів Gradle. Це може бути ініційовано вашим кодом Gradle, але це, швидше за все, не застосовується, якщо ваш проект є додатком, а не плагіном Gradle.
І як в коментарі зазначав Алекс Кон , знецінення є попередженням. У цьому випадку це означає, що це особливість, яку згодом буде видалено. Тож поки, припускаючи, що це плагін (а не зроблений вами), ви можете його проігнорувати. На час його видалення більшість / всі основні плагіни повинні бути оновлені, щоб виправити це.
І, знову ж таки, це попередження; не помилка. Ви все одно можете запустити його і проігнорувати, якщо ви нічого не можете зробити з цього питання. Вимкнення напр. Плагіна Fabric * є надмірним, оскільки він все ще працює.
Я сам не використовую Fabric, і Fabric не є відкритим кодом, тому я не знаю, розробники виправили це чи ні
TL; DR: Плагіни Gradle - причина. Це попередження (не помилка), тому видалення плагінів, які спричиняють проблему, є надмірним. Якщо ви не можете його виправити, залиште його в спокої до тих пір, поки воно наразі застаріле (не видалено)
Якщо ви використовуєте Firebase, для цього є конкретне рішення, яке також згадується в посібнику з міграції (зв'язаний пізніше в цій публікації); виключити модуль guava
classpath ('com.google.firebase:firebase-plugins:1.1.0') {
exclude group: 'com.google.guava', module: 'guava-jdk5'
}
Саме питання досить важко виявити. З того, що я можу сказати, не існує жодної проблеми, яка викликає це у всіх плагінах, які я перевірив (і пов'язаний у цій відповіді). Якщо ви зашифрували щось, що викликає проблему (і це можливо виправити; додавання сторонніх плагінів gradle не викликає цього), ви можете спробувати виправити деякі речі.
З того, що я можу сказати про фактичну причину, це вирішується оновленням файлу Gradle (хоча в бібліотеці Spoon це було виправлено шляхом зміни рядка, пов’язаного з TestVariant
), дотримуючись тем у посібнику з міграції плагіну Gradle 3.0.0.
Вся справа охоплюється документами розробника , але ось деякі речі, які я думаю, є релевантними на основі запитів на виклики, зроблених для проектів, де це була проблема:
Окрім оновлення версії Gradle та плагіна, вам також потрібно додати google()
репо в розділі repositories
.
compile
в даний час implementation
або api
, але implementation
є рекомендованим.
provided
є compileOnly
і apk
єruntimeOnly
androidTestCompile
став androidTestImplementation
, і testCompile
->testImplementation
Якщо ви використовуєте ароматизатори, ви повинні використовувати розміри смаку (охоплені документами).
Для типів збірки потрібно включити резервні копії, якщо є бібліотека, яка не має такого типу збірки. Вони визначені в profile
блоці під android
блоком.
Якщо цього ще не зроблено, спочатку слід визначити плагін gradle. Якщо у вас немає інших залежностей від класового шляху, це не проблема. Але якщо ви це зробите, переконайтеся, що спочатку визначено плагін gradle.
Якщо ви користуєтесь testVariants
, переконайтеся, що ви не дзвонили testedVariant
на уроці. Схоже, це причина в бібліотеці "Ложка".
Ці речі - це, з чого я зміг розповісти, деякі зміни, які були внесені для вирішення проблеми.
Я використовую плагін Play Services Gradle com.google.gms:google-services
з версією 4.2.0
.
У вихідному коді ми бачимо, що:
Тож для мене це було причиною моїх попереджень і його неможливо вийняти, поки плагін не виправиться. Питання тут
Як згадував @Zoe, це також може надходити з інших плагінів Gradle.
Найкраще
Проблема вирішена за допомогою плагіна Служб Google версії 4.3.0 (вирішено з цим зобов’язанням )
buildscript {
dependencies {
// Change version to 4.3.0
classpath 'com.google.gms:google-services:4.3.0'
}
}
Знайдено тут
Оновлення до останньої версії плагіна Fabric Gradle виправляє цю проблему.
З журналу змін:
У моєму випадку це було викликано невідповідною версією бібліотек підтримки Android. Я оновив усі модулі до останньої версії (28.0.0) і це вирішило.
Після правильної установки Fabric ця проблема була вирішена для мене
import com.crashlytics.android.Crashlytics;
import io.fabric.sdk.android.Fabric;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Fabric.with(this, new Crashlytics());
}
}
build.gradle
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
dependencies {
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
}
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
У мене було повідомлення про помилку та багато інших подібних
x-version is deprecated and use y-version instead and it'll be removed in 2019
і весь мій проект раптово почав видавати одні й ті ж повідомлення про помилки.
Студія Android попереджала про мою антивірусну програму. Я спробував налаштувати його, але не вийшло.
Нарешті я видалив антивірус QuickHeal зі своєї системи, і зараз все добре
Усі інші відповіді стосуються проблем із сторонніми компонентами .
Ось як оновити свій проект , який використовує registerResGeneratingTask
безпосередньо:
Перед:
variant.registerResGeneratingTask generateIcon, ICON_DIR
Після:
variant.mergeResourcesProvider.get().dependsOn generateIcon
variant.registerGeneratedResFolders files(ICON_DIR)
Рівень проекту Build.Gradle
Використовуйте наступну версію залежності служби Google.
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
classpath 'com.google.gms:google-services:4.3.0'
classpath ('com.google.firebase:firebase-plugins:1.1.0') {
exclude group: 'com.google.guava', module: 'guava-jdk5'
}
}
Вирішено питання для мене.
Для мене це попередження зникло, коли я вимкнув плагін тканини gradle, o, будь ласка, перевірте, чи використовуєте ви тканину чи інший плагін, який я відповідав за це попередження.
com.google.gms:google-services
4.0.1
& 4.0.2
обидва викликають це попередження.