3rd-party Gradle plug-ins may be the cause

升级到 Android Studio 3.1后,我得到了这个错误消息:

这个项目运行良好,这大部分只是一个警告,所以我的问题是什么意思的警告,我如何摆脱它?

等级档案中的相关部分:

这是我的作品 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'
}
}
}
36270 次浏览

以下是我如何解决这个问题的一些方法:

首先从项目构建等级文件更新您的 android 等级插件版本,然后从等级属性更新您的等级版本。

最后,从项目 build gradle 文件中将 kotlin 版本(强制)更新为 kotlin _ version =’1.2.30’或更高版本。

现在尝试清理您的项目并构建。问题应该得到解决。 每次构建后,如果您再次构建,那么可能会再次发生问题,所以,只需再次清理您的项目,然后构建。

尝试从设置中删除即时运行和渐变将很好去。

这招对我很管用。

为了解决这个问题,拿开Instant App Provision从“运行配置”,只留下 Gradle-Aware Make

Run -> Edit Configurations..

My Run/Debug configurations after successful build

我有 AndroidStudio 3.1,Gradle 插件 3.1.0和 Kotlin 图书馆版本 1.2.30

是什么解决了我的问题:

  • 将分级插件版本更改为 3.1.0
  • 将 Kotlin 版本更改为 1.2.30
  • 然后,Android 工作室将分级包装器更改为版本 4.4
  • 然后 Android 工作室声称所使用的构建工具版本是 我应该把它改成 27.0.3,所以我也把目标 SDK 改成了 27
  • 我在 gradle.build 中添加了以下内容:

    kapt {
    generateStubs = true
    }
    

I hope it helps

下面是我所遵循的一些步骤。在我的例子中,它解决了这个问题!

针对 Android 的平台模块 实验性多平台项目特性的更新引入了对 Android 平台模块的支持。这些模块应该在 Gradle 构建脚本中应用相应的插件,并且可以使用来自一个公共模块的共享代码:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-platform-android'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-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. 建造,就是这样!

添加所有这些,清理您的项目,构建,就是这样!如果有用就告诉我!(如果它对你不起作用,我将帮助你另一个解决方案)

更多信息: 安卓站点 :)如果有用就告诉我! (如果没用,我会告诉你的 试着帮助你找到一个更好的方法

如果你投反对票,请解释为什么

下面是我所遵循的一些步骤,它解决了我的问题。

  1. 首先,将 kotlin 插件版本安装到“1.2.31”,并在 build.gradle 文件中进行更新,如下所示。

附属事项{ Class 路径‘ com.android.tools.build: gradle: 3.1.0’ Kotlin: kotlin-gradle-plugin: $1.2.31类路径“ org.jetbrains.kotlin: kotlin-gradle-plugin: $1.2.31” }

  1. 清洁工程。

  2. 最后重建项目。

嗯,我发现这是因为 apply plugin: 'kotlin-kapt',如果你删除 build.gradle (应用程序)中的这一行,那么你将成功地构建..。

不知道为什么这个插件会导致这些警告。

在 android 工作室 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 工作室将分级包装器更改为4.4版本
  4. 然后 Android 工作室声称所使用的构建工具版本是 27.1.1,我应该把它改为27.1.1,所以我也把目标 SDK 改为27

我重新启动了 Android Studio,问题就消失了。

点击文件-> 无效缓存/重启

每次更改 gradle 文件时,都必须重新启动 Android Studio,否则问题将返回。

你也可以试试这个:

  1. 对存储库进行重新排序,以便:

    mavenCentral()
    maven { url 'https://jitpack.io' }
    google()
    jcenter()
    
  2. Clearing this folder: user's ~/.gradle/caches and deleting app build folder manually, then clean and rebuild.

这是因为 Kapt 注释处理器使用这个目录来存储 Kotlin 生成的文件。Android 目前默认不能识别路径。

详情请参阅

真正对我有帮助的是添加这个

kapt {
generateStubs = true
}

建造,分级

为那些 无法移除 Instant App Provision的人添加另一个答案,因为它不断重现。

手动构建项目: ./gradlew assembleDebug

它是一个修复程序,但它会工作(因为这个问题可能与 Android Studio 有关)。

在我的案例中,以上的解决方案都没有解决我的问题,我使用的是1.2.50版本的 Kotlin,没有提到 Instant Run,而且这个版本没有生成 Dagger 类,所以我发现这个问题解决了我的问题,显然,在我的情况下,这是一个与新的 Kotlin 版本相关的问题,所以我降级到1.2.41版本并且工作良好。 顺便说一下,我刚刚追踪到这一点,因为我使用的切换视图上建立屏幕。

1: 选择切换视图并构建项目

Toggle View

他说: 你将能够看到究竟发生了什么

Error

堆栈溢出问题: Kotlin 1.2.50请求使用 baseFeatureInfoDir

问题追踪器: Https://issuetracker.google.com/issues/110198434

  1. 移除 apply plugin: 'kotlin-kapt'
  2. 在 build.gradle 中添加 mavenCentral(),如:

    所有项目{ 储存库{ 马文中心() Google () 我不知道

  3. 同步和清洁项目

我有这个问题时,使用 王国与 kotlin 在 android 工作室。
要解决这些问题,请遵循以下步骤:

  1. 在向 build.gradle 项目添加“王国”之后,确保你的 app 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. Use kapt instead of annotationProcessor in your app build.gradle dependencies.

  3. Go to Run -> Edit Configurations.. and remove Instant App Provision option.

  4. Run this command in Android studio's terminal :

    gradlew assembleDebug
    
  5. It's OK !

Note: If you see "3rd-party Gradle plug-ins may be the cause" message again, Do step 3 & 4 again.

4.6级及以上的配置: 如果你正在使用 Android Gradle Plugin 3.0.x 或3.1.x,如果你的级别在4.6或以上,你就可以使用它了 应该根据需要禁用配置,以避免一些不可预测的 构建错误。(如果您使用的是 Android Gradle Plugin 3.2.0或更高版本, 上禁用配置不需要采取任何操作 需求)

根据需要在 gradle.properties 文件中禁用配置,如下所示 如下:

Configureondemand = false 根据需要禁用配置 在 Android Studio 设置中,选择 File > Settings (Android Studio

(Mac 上的首选项) ,在左窗格中选择编译器类别,然后清除“按需配置”复选框。

在 Android Studio 3.2 Beta 1及更高版本中,启用 按需配置已被删除。 请从下面的链接阅读已知问题部分。 在这里输入链接描述

事实上,我也面临着同样的错误。 我只是把我的 Kotlin 版本升级到了 最新的。 这也许能解决你的问题。