it-swarm.com.ru

Сторонние плагины Gradle могут быть причиной

После обновления до Android Studio 3.1 я получил это сообщение об ошибке:

 

Проект работает нормально, и это в основном всего лишь предупреждение, поэтому мой вопрос в том, что означает предупреждение и как я могу от него избавиться?

Соответствующие части из файлов Gradle:

Это build.gradle моего проекта

buildscript {
    ext {
        kotlin_version = '1.2.31'
        anko_version = '0.10.4'
        room_version = '1.0.0'
        support_version = '27.1.0'
        firebase_version = '12.0.0'
        gms_version = '12.0.0'
    }

    repositories {
        google()
        jcenter()
        maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.1.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven { url "https://jitpack.io" }
        maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
    }
}

И это build.gradle файл моего приложения:

apply plugin: 'com.Android.application'
apply plugin: 'kotlin-Android'
apply plugin: 'kotlin-Android-extensions'
apply plugin: 'kotlin-kapt'

Android {
    compileSdkVersion 27
    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}
128
humazed

Чтобы решить эту проблему, удалитеInstant App Provision из «Run Configurations» и оставьте только Gradle-Aware Make.

Run -> Edit Configurations..

 My Run/Debug configurations after successful build

У меня есть AndroidStudio 3.1, Gradle Plugin 3.1.0 и версия библиотеки Kotlin 1.2.30.

143
Angel Kjoseski

Я перезапустил Android Studio, и проблема исчезла.

Нажмите Файл -> Недействительные кеши/Перезапустите

Каждый раз, когда я изменяю файл Gradle, я должен перезагружать Android Studio, иначе проблема возвращается.

Вы также можете попробовать это:

  1. Переупорядочены репозитории для:

    mavenCentral()
    maven { url 'https://jitpack.io' }
    google()
    jcenter()
    
  2. Очистка этой папки: user ~/.gradle/caches и удаление appbuild folder вручную, затем очистить и восстановить .

17
SpkingR

Что решило проблему для меня:

  • Измените версию плагина Gradle на 3.1.0 
  • Измените версию Kotlin на 1.2.30
  • Затем студия Android изменила упаковку Gradle на версию 4.4 
  • Затем Android-студия сказала, что использовалась версия инструментов сборки 27.0.3 и что я должен изменить ее на 27.0.3, поэтому я также изменил целевой SDK на 27 
  • Я добавил это в свой gradle.build:

    kapt {
         generateStubs = true
     }
    

Я надеюсь, что это помогает 

7
Júlia Garrigós

на Android studio v3.1.2 произойдет ошибка:

Folder D:\AndroidProjects\app\build\generated\source\kaptKotlin\debug
Folder D:\AndroidProjects\app\build\generated\source\kaptKotlin\release
3rd-party Gradle plug-ins may be the cause

потому что dataBinding использует apply plugin: 'kotlin-kapt', так что добавьте

kapt {
    generateStubs = true
}
  1. Измените версию плагина Gradle на 3.1.2
  2. Изменить версию Kotlin на 1.2.30
  3. Затем студия Android изменила упаковку Gradle до версии 4.4.
  4. Затем Android-студия сказала, что использовалась версия инструментов сборки 27.1.1 и что я должен изменить ее на 27.1.1, поэтому я также изменил целевой SDK на 27
5
任非凡

Вот несколько шагов, которым я следовал. В моем случае это исправило проблему!

Модули платформы для Android Обновление функции экспериментальных многоплатформенных проектов предоставляет поддержку модулей платформы Android. Эти модули должны применять соответствующий плагин в скрипте сборки Gradle и могут использовать общий код из общего модуля:

apply plugin: 'com.Android.application'
apply plugin: 'kotlin-platform-Android'
apply plugin: 'kotlin-Android'
apply plugin: 'kotlin-kapt'
// ...
// ...

Диагностические местоположения Kapt На данный момент kapt, инструмент обработки аннотаций Kotlin, может предлагать ссылки на местоположения в исходном коде Kotlin, а не генерировать заглушки Java, так как он сообщает об ошибках, возникших во время обработки аннотации. Вы можете включить эту функцию, добавив следующие строки в скрипт сборки Gradle (build.gradle):

kapt {
    mapDiagnosticLocations = true
}

Добавь это:

allprojects {
        repositories {
            jcenter()
            google()
        }
    }

Не забудьте следующее:

// Architecture Component - Room

     implementation "Android.Arch.persistence.room:runtime:1.1.0-beta1"
        kapt "Android.Arch.persistence.room:compiler:1.1.0-beta1"

      // Lifecyles, LiveData and ViewModel
    kapt 'com.Android.databinding:compiler:3.1.0'


 // ViewModel and LiveData
    implementation "Android.Arch.lifecycle:extensions:1.1.1"

// alternatively, just ViewModel
    implementation "Android.Arch.lifecycle:viewmodel:1.1.1"

 // alternatively, just LiveData
     implementation "Android.Arch.lifecycle:livedata:1.1.1"
       kapt "Android.Arch.lifecycle:compiler:1.1.1"

 // Room (use 1.1.0-beta1 for latest beta)
    implementation "Android.Arch.persistence.room:runtime:1.0.0"
      kapt "Android.Arch.persistence.room:compiler:1.0.0"


// Paging
    implementation "Android.Arch.paging:runtime:1.0.0-alpha7"

        // Test helpers for LiveData
    testImplementation "Android.Arch.core:core-testing:1.1.1"

        // Test helpers for Room
 testImplementation "Android.Arch.persistence.room:testing:1.0.0"
  1. Очистите ваш проект

  2. Построить и все!

Добавьте все это, очистите ваш проект, постройте и все! :) Дайте мне знать, если это работает! (Если это не работает для вас, я помогу вам с другим решением)

Подробнее:Сайт Android:) Дайте мне знать, если это работает! (Если это не сработает, я попытаюсь помочь вам найти лучший путь).

Если вы даете голосование, объясните, почему 

4
Cristofer

Что на самом деле помогло мне это добавить

kapt {
     generateStubs = true
}

в build.gradle

4
Andrey Aleev

В моем случае ни одно из вышеперечисленных решений не решило мою проблему, я использовал версию Kotlin 1.2.50 без какого-либо упоминания Instant Run, и сборка не генерировала классы Dagger, поэтому я обнаружил этот вопрос, который, по-видимому, решил мою проблему. , в моей ситуации это проблема, связанная с новой версией Kotlin, поэтому я опустился до версии 1.2.41 и работал нормально ... Кстати, я просто отслеживал этот момент, потому что использовал экран Toggle View на экране Build.

1. Выберите Toggle View и создайте свой проект

 Toggle View

2: Вы сможете увидеть, что именно произошло

 Error

Вопрос переполнения стека: Kotlin 1.2.50 запрашивает baseFeatureInfoDir

Система отслеживания ошибок: https://issuetracker.google.com/issues/110198434

2
Pedro Okawa

Попробуйте удалить Мгновенный запуск из настроек, и Gradle будет готов к работе. 

Это сработало для меня.

2
Munish Thakur

Вот некоторые шаги, которые я выполнил, и это исправило проблему в моем случае.

  1. Прежде всего установите версию плагина kotlin на «1.2.31» и обновите ее в файле build.gradle, как показано ниже.

зависимости { classpath 'com.Android.tools.build:gradle:3.1.0' classpath "org.jetbrains.kotlin: kotlin-gradle-plugin: $ 1.2.31" }

  1. Чистый Проект.

  2. Наконец, перестройте проект.

2
Manish Karena
  1. удалить apply plugin: 'kotlin-kapt'
  2. добавить mavenCentral() в build.gradle, например:

    allprojects { repositories { mavenCentral() google() jcenter() } }

  3. Синхронизировать и очистить проект
1
Dan Alboteanu

На самом деле, я тоже столкнулся с той же ошибкой. Я обновил свою версию kotlin до последней . Это может решить вашу проблему.

0
maulik togadiya

Добавление другого ответа для тех, кто не смог удалить Instant App Provision, потому что он продолжает появляться.

Создайте проект вручную: ./gradlew assembleDebug

Это исправление, но оно будет работать (потому что проблема, вероятно, связана с Android Studio).

0
mrek

У меня была эта проблема при использовании Realm с kotlin в студии Android.
Чтобы решить, выполните следующие действия:

  1. После добавления Realm в проект build.gradle убедитесь, что файл вашего приложения build.gradle выглядит следующим образом:

    apply plugin: 'com.Android.application'  
    apply plugin: 'kotlin-Android'  
    apply plugin: 'kotlin-Android-extensions'  
    apply plugin: 'kotlin-kapt'  
    apply plugin: 'realm-Android'  
    .  
    .  
    .  
    androidExtensions {  
    experimental = true
    }
    
  2. Используйте kapt вместо annotationProcessor в ваших зависимостях build.gradle вашего приложения. 

  3. Перейдите к Run -> Edit Configurations.. и удалите опцию Instant App Provision.

  4. Запустите эту команду в терминале Android-студии: 

    gradlew assembleDebug  
    
  5. Все нормально !

Примечание. Если вы снова видите сообщение «Возможно, причиной являются сторонние плагины Gradle», повторите шаги 3 и 4.

0
Mehdi I.

Это происходит потому, что процессор аннотаций Kapt использует этот каталог для хранения сгенерированных Kotlin файлов. Android в настоящее время не распознает путь по умолчанию.

Подробнее см.

0
Virco

Конфигурация по требованию с Gradle 4.6 и выше: если вы используете Android Gradle Plugin 3.0.x или 3.1.x с Gradle 4.6 и выше, вы следует отключить конфигурацию по требованию, чтобы избежать непредсказуемости ошибки сборки. (Если вы используете Android Gradle Plugin 3.2.0 или выше, Вам не нужно предпринимать никаких действий, чтобы отключить настройку по требованию )

Отключите конфигурацию по требованию в файле gradle.properties как показано ниже:

org.gradle.configureondemand = false Отключить настройку по требованию в настройках Android Studio выберите «Файл»> «Настройки» (Android Studio

«Настройки на Mac»), выберите категорию «Компилятор» на левой панели и снимите флажок «Настроить по требованию».

В Android Studio 3.2 Beta 1 и выше, опции для включения конфигурация по требованию была удалена . Пожалуйста, прочтите раздел об известных проблемах ниже по ссылке . введите описание ссылки здесь

0
Android_Developer

Вот некоторый подход, как я могу исправить эту проблему для моего случая:

Прежде всего обновите версию своего подключаемого модуля Android из файла Gradle сборки проекта, а затем обновите версию Gradle из свойств Gradle. 

Наконец, обновите версию kotlin (обязательно) до kotlin_version = '1.2.30' или более поздней версии из файла сборки проекта.

Теперь попробуйте очистить ваш проект и построить. Проблема должна быть решена . Каждый раз после сборки, если вы строите снова, возможно, проблема возникнет снова, поэтому просто очистите ваш проект снова, а затем соберите.

0
0xalihn