После обновления до 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'
}
}
}
Build
>Rebuild Project
работал у меняОтветы:
Чтобы решить эту проблему, удалите
Instant App Provision
из «Конфигураций запуска» и оставьте только файлGradle-Aware Make
.У меня есть версия библиотеки AndroidStudio
3.1
, Gradle Plugin3.1.0
и Kotlin1.2.30
.источник
Instant App Provisions
всегда возвращается на место.Run > Edit Configurations
снова. Затем перейдите кEdit Defaults
, нажав кнопку со значком гаечного ключа вверху. ВыберитеAndroid App
и оставьте толькоGradle-aware Make
как раньше. Хит применить.Я перезапустил Android Studio, и проблема исчезла.
Нажмите File -> Invalidate Caches / Restart.
Каждый раз, когда я меняю файл gradle, я должен перезапустить Android Studio, иначе проблема вернется.
Вы также можете попробовать это:
Повторно упорядоченные репозитории:
Очистка этой папки: пользовательский ~ / .gradle / caches и удаление папки сборки приложения вручную, затем очистка и повторная сборка .
источник
Что устранило проблему для меня:
3.1.0
1.2.30
4.4
27.0.3
и что я должен изменить ее на,27.0.3
поэтому я также изменил целевой SDK на27
Я добавил это в свой gradle.build:
Я надеюсь, что это помогает
источник
в android studio v3.1.2 произошла ошибка:
потому что dataBinding использовать,
apply plugin: 'kotlin-kapt'
поэтому добавьтеисточник
Вот несколько шагов, которые я выполнил. В моем случае проблема решена!
Модули платформы, ориентированные на Android. В обновленной функции экспериментальных мультиплатформенных проектов добавлена поддержка модулей платформы Android. Эти модули должны применять соответствующий плагин в скрипте сборки Gradle и могут использовать общий код из общего модуля:
Диагностические местоположения Kapt На данный момент kapt, инструмент обработки аннотаций Kotlin, может предлагать ссылки на местоположения в исходном коде Kotlin, а не сгенерированные Java-заглушки, поскольку он сообщает об ошибках, обнаруженных во время обработки аннотаций. Вы можете включить эту функцию, добавив эти строки в скрипт сборки Gradle (build.gradle):
Добавь это:
Не забывайте следующее:
Очисти свой проект
Собери и готово!
Добавьте все это, очистите свой проект, соберите и все! :) Сообщите мне, если это сработает! (Если у вас не работает, я помогу вам с другим решением)
Дополнительная информация: Сайт Android :) Дайте мне знать, если это работает! (Если не сработает, я постараюсь помочь вам найти лучший способ)
Если вы дадите голосование, объясните, почему
источник
mapDiagnosticLocations = true
вkapt
конфигурацию работает - ну иногда по крайней мере: /Что действительно помогло мне, так это добавление этого
в build.gradle
источник
В моем случае ни одно из вышеперечисленных решений не решило мою проблему, я использовал версию 1.2.50 Kotlin без какого-либо упоминания о Instant Run, а сборка не генерировала классы Dagger, поэтому я выяснил, что этот вопрос решил мою проблему, по-видимому , в моей ситуации это проблема, связанная с новой версией Kotlin, поэтому я перешел на версию 1.2.41 и работал нормально. Кстати, я просто дошел до этой точки, потому что использовал Toggle View на экране сборки.
1. Выберите Toggle View и создайте свой проект.
2: Вы сможете точно увидеть, что произошло
Вопрос о переполнении стека: Kotlin 1.2.50 запрашивает baseFeatureInfoDir
Система отслеживания проблем: https://issuetracker.google.com/issues/110198434
источник
Попробуйте удалить Instant run из настроек, и gradle будет хорошо.
Это сработало для меня.
источник
Вот несколько шагов, которые я выполнил, и в моем случае проблема была решена.
Чистый проект.
Наконец, перестройте проект.
источник
apply plugin: 'kotlin-kapt'
добавьте
mavenCentral()
build.gradle, например:allprojects { repositories { mavenCentral() google() jcenter() } }
источник
Вот несколько подходов к решению этой проблемы в моем случае:
Теперь попробуйте очистить свой проект и собрать. Проблема должна быть решена. Каждый раз после сборки, если вы собираете снова, вероятно, проблема будет возникать снова, поэтому просто очистите свой проект еще раз, а затем выполните сборку.
источник
Это происходит потому, что процессор аннотаций Kapt использует этот каталог для хранения файлов, созданных Kotlin. В настоящее время Android не распознает путь по умолчанию.
См. Дополнительную информацию
источник
Добавляем еще один ответ для тех, кто не смог удалить
Instant App Provision
, потому что он продолжает появляться.Соберите проект вручную:
./gradlew assembleDebug
Это исправление, но оно будет работать (поскольку проблема, вероятно, связана с Android Studio).
источник
У меня возникла эта проблема при использовании Realm с kotlin в студии Android.
Чтобы решить, выполните следующие действия:
После добавления Realm в проект build.gradle убедитесь, что файл build.gradle вашего приложения выглядит следующим образом:
Используйте
kapt
вместоannotationProcessor
зависимостей build.gradle в вашем приложении.Перейти
Run -> Edit Configurations..
и удалитьInstant App Provision
вариант.Запустите эту команду в терминале студии Android:
Все нормально !
Примечание. Если вы снова видите сообщение «Причиной могут быть сторонние плагины Gradle», повторите шаги 3 и 4.
источник
источник
Собственно, я тоже столкнулся с той же ошибкой. Я обновил свою версию kotlin до последней . Это может решить вашу проблему.
источник
Что ж, я обнаружил, что это из-за
apply plugin: 'kotlin-kapt'
,, если вы удалите эту строку в build.gradle (app), вы успешно выполните сборку ...Понятия не имею, почему этот плагин выдает эти предупреждения.
источник