执行org.jetbrains.kotlin.gradle.internal.KaptExecution时发生失败

突然我开始得到这个错误,我不知道为什么如果有人告诉我这个错误在哪里,就足够有帮助了。正如我所能得到的,这是因为android studio的新更新。 我得到的错误的详细摘要。

Task :app:kaptDebugKotlin
ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.1ANTLR Runtime version 4.5.3 used for parser compilation does not match the current runtime version 4.7.1ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.1ANTLR Runtime version 4.5.3 used for parser compilation does not match the current runtime version 4.7.1C:\Users\shubh\Downloads\MarginCalculator\app\build\generated\source\kapt\debug\com\kotlin_developer\margincalculator\DataBinderMapperImpl.java:10: error: cannot find symbol
import com.kotlin_developer.margincalculator.databinding.FragmentCalculatorScreenBindingImpl;


symbol:   class FragmentCalculatorScreenBindingImpl


Task :app:kaptDebugKotlin FAILED
location: package com.kotlin_developer.margincalculator.databinding
FAILURE: Build failed with an exception.


* What went wrong:
Execution failed for task ':app:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
> java.lang.reflect.InvocationTargetException (no error message)


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.


* Get more help at https://help.gradle.org


BUILD FAILED in 17s
29 actionable tasks: 27 executed, 2 up-to-date
314204 次浏览
如果你已经升级到类路径'com.android.tools.build:gradle:4.0.0' 替换之前的版本

dependencies {
classpath 'com.android.tools.build:gradle:3.6.3'
}

和Change gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-   all.zip`
我有一段时间有同样的错误,然后我开始检查其他包,我知道我在我的数据库代码中犯了一个拼写错误。所以, “检查你的数据库和其他活动类文件,你可能会发现一些错误。”< / p >

对我来说,一堆引用错误和带有DataBinding的XML表达式中的一个错误产生了这个错误。

我已经删除了layout文件中的<variable/>,因为我想,我不再需要它了。我忘记在layout文件中引用了变量。

在构建项目后,这会产生一个错误,其中不可能导入BindingImpl类,因为它不存在,并且此错误仅显示为与上述KaptExecution错误并行的警告。

搜索了一段时间后,我发现了这个错误并解决了它。然后,显示了一堆引用错误,因为我重命名了一些东西,而它没有在Fragment文件中重命名它。在解决了这些错误之后,我完成了构建,没有出现错误或警告。

我也有同样的问题。让我带你们看一下我是如何解决这个问题的,以及我是如何解决它的,也许你们会有更大的了解。

之前解决

@Entity(tableName = "modules")
data class Module
(
@PrimaryKey val id: Int,
val name: String
)


@Entity(tableName = "sessions")
data class Session
(
@PrimaryKey(autoGenerate = true) var id: Int,
@ColumnInfo(name = "module_id") val moduleId: Int,
@ColumnInfo(name = "start_time") val startTime: String,
@ColumnInfo(name = "end_time") val endTime: String
)


data class ModuleSession
(
@Embedded val module: Module,
@Relation(
parentColumn = "id",
entityColumn = "module_id"
)
val sessions: List<Session>,
@ColumnInfo(name = "is_updated") val isUpdated: Boolean = false // The problem
)

在DAO中

@Transaction
@Query("SELECT * FROM modules")
abstract suspend fun getModuleSession(): List<ModuleSession>

我得到的错误是

A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution

所以我深入挖掘,找到了下面的信息

The columns returned by the query does not have the fields [isUpdated] in com.gmanix.oncampusprototype.Persistence.ModuleSession even though they are annotated as non-null or primitive. Columns returned by the query: [id,name]
public abstract java.lang.Object getModuleSession(@org.jetbrains.annotations.NotNull()

我从POJO ModuleSession中删除了字段IsUpdated,并将其添加到会话表中

后的变化

@Entity(tableName = "sessions")
data class Session
(
@PrimaryKey(autoGenerate = true) var id: Int,
@ColumnInfo(name = "module_id") val moduleId: Int,
@ColumnInfo(name = "start_time") val startTime: String,
@ColumnInfo(name = "end_time") val endTime: String,
@ColumnInfo(name = "is_updated") val isUpdated: Boolean = false
)


data class ModuleSession
(
@Embedded val module: Module,
@Relation(
parentColumn = "id",
entityColumn = "module_id"
)
val sessions: List<Session>
)

另一方面,交叉检查SELECT语句中是否有任何可能导致问题的字段,或者你可以用@Ignore注释它

但是,如果你仍然觉得不舒服,你可以发布你的代码。

我希望这能有所帮助

大声喊出上面@Rene Spies的回答,我在使用数据绑定时也得到了这个错误。事实证明,当你在Kotlin中data class的主构造函数的字段上放置@Bindable注释时,构建引擎不喜欢它。

所以不要做下面的事情,

data class MyAwesomePojo(
@Bindable
var firstname: String,
var lastname: String
)

相反,你需要做的是

data class MyCorrectAwesomePojo(
var lastname: String
):{
@get:Bindable
var firstname: String
set(value){
field = value
}
}

好处:如果你像我一样试图使用双向绑定来防止设置和获取的无限循环,请记得在设置值到字段之前检查相同的值。

我也遇到了同样的问题,所以我试图通过做来获得更多的信息

gradle→程序→任务→生产→组装

之后,我得到确切的错误说“错误而注释处理”; 我检查了我最近调整的DAO类,发现其中一个方法返回类型没有定义

//Before
@Query("SELECT countryName FROM country_table WHERE countryCode= :code")
fun getCountryNameForCode(code: String)


//After
@Query("SELECT countryName FROM country_table WHERE countryCode= :code")
fun getCountryNameForCode(code: String): String

改变

implementation "android.arch.persistence.room:runtime:1.1.1"
kapt "android.arch.persistence.room:compiler:1.1.1"
< p > (更新4 - 9月-2021)

 implementation "androidx.room:room-runtime:2.3.0"
annotationProcessor "androidx.room:room-compiler:2.3.0"

有趣的是,我得到这个错误是因为我添加了Retrofit的描述。注意不要混淆“房间”和“改造”的描述。

在我的例子中,这是因为我没有在我的ViewModel中实现Observable。我用android:text="@={addProductViewModel.inputProductName}"在约束布局中添加了一个EditText

一旦我在ViewModel类中实现了Observable,错误就消失了

视图模型

class AddProductViewModel (
private val repository: ProductRepository,
private val context: Context
): ViewModel(), Observable {


@Bindable
val inputProductName = MutableLiveData<String>()




fun addProduct() {
//inputProductName.value
}


override fun removeOnPropertyChangedCallback(callback: Observable.OnPropertyChangedCallback?) {
TODO("Not yet implemented")
}


override fun addOnPropertyChangedCallback(callback: Observable.OnPropertyChangedCallback?) {
TODO("Not yet implemented")
}
}

使用片段的MVVM数据绑定的完整示例

布局- add_product.xml

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android" >
<data class=".AddProductBinding">
<variable
name="addProductViewModel"
type="com.rao.iremind.AddProductViewModel" />
</data>


<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">




<EditText
android:id="@+id/editTextTextProductName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Product name"
android:inputType="textPersonName"
android:text="@={addProductViewModel.inputProductName}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />






</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

AddProductFragment

class AddProductFragment: Fragment() {
private lateinit var binding: AddProductBinding
private lateinit var addProductViewModel: AddProductViewModel
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding =  DataBindingUtil.inflate(inflater, R.layout.add_product, container, false)
val dao = SubscriberDatabase.getInstance(requireActivity().applicationContext).productDAO
val repository = ProductRepository(dao)
val factory = AddProductViewModelFactory(repository, requireActivity().applicationContext)
addProductViewModel = ViewModelProvider(this, factory).get(AddProductViewModel::class.java)
binding.addProductViewModel = addProductViewModel
binding.lifecycleOwner = this
val view = binding.root


return view
}
}

AddProductViewModel

class AddProductViewModel (
private val repository: ProductRepository,
private val context: Context
): ViewModel(), Observable {


@Bindable
val inputProductName = MutableLiveData<String>()




fun addProduct() {
//inputProductName.value
}


override fun removeOnPropertyChangedCallback(callback: Observable.OnPropertyChangedCallback?) {
TODO("Not yet implemented")
}


override fun addOnPropertyChangedCallback(callback: Observable.OnPropertyChangedCallback?) {
TODO("Not yet implemented")
}
}
希望这对你有帮助 R < / p >

以我为例:问题解决

步骤:

  1. 删除viewModel变量在XML中
<variable
name="viewModel"
type="com.xx.AppViewModel" / >
  1. 删除了所有viewModel绑定引用- 在XML中
android:text="@{viewModel.simName}"
  1. 删除了绑定映射- 在活动的viewModel实例引用
binding.viewModel = viewModel
  1. 清洁项目编译。

  2. 添加viewModel变量-在XML &建设项目

< variable
name="viewModel"
type="com.xx.AppViewModel" / >
  1. 将viewModel实例引用添加到绑定映射- 在活动&建设项目
binding.viewModel = viewModel
  1. 添加所有viewModel绑定引用- 在XML &构建项目。
    android:text="@{viewModel.simName}"
  1. 它现在可以工作了。

——我希望这对你也有用。

也许我回答的有点晚了,但是不管怎样,我得到了同样的错误。构建失败可能是由Android Studio未能指出的一些错误引起的,可能是由于项目规模非常大。

下面是指出确切错误的简单方法。

  1. 在Android studio中进入分析菜单,点击检查代码;检查整个项目,单击“确定”,等待检查完成。

    Inspect Code

  2. 现在你会看到一个标签,将指向所有的错误,警告等,你现在可以解决真正的问题。

    Errors tab

在某些情况下可能有用 gradle.properties < / p >

kapt.include.compile.classpath=true

我有同样的问题与房间和我没有使用viewBinding
我在我的数据库类中使用exportSchema为false修复了它

@Database(entities = [ModelClass::class], version = 1, exportSchema = false)
abstract class ModelDatabase: RoomDatabase() {}

记住:exportschemma可以根据你的用例而变化,通常它保持为假,所以我把它设置为假。

找出潜在问题的方法是运行以下命令:

./gradlew assembleDebug --stacktrace

在我的例子中,我添加了这一行

 android {
.
.
.


kapt.includeCompileClasspath = false


}

在我的情况下,我已经将全局一个变量UserManager更改为NetWorkManager,凡是有UserManager类的地方,它们都变成了NetWorkManager。

因为我用的是希尔特,所以我必须重新构建项目。

我清理了项目,Kotlin显示了错误的位置。

我也遇到了同样的问题,所以为了尝试,我删除了项目的。idea文件夹和。gradle文件夹,然后我也删除了app文件夹内的build文件夹,然后重新启动android studio IDE,它为我工作

在我的情况下,我使用房间和我的一个databasDao方法有一个未使用的参数,不幸的是android工作室没有正确地警告我

对我来说,问题是在模型上定义了两个主键。

// before
@field:ColumnInfo(name = "id") @field:PrimaryKey(autoGenerate = true) var id: Long = 0,
@field:ColumnInfo(name = "name") @field:PrimaryKey var name: String,
    

//after
@field:ColumnInfo(name = "id") @field:PrimaryKey(autoGenerate = true) var id: Long = 0,
@field:ColumnInfo(name = "name") @field:NotNull var name: String,

我不得不重新构建项目并稍微更改Dao类以触发有关问题的消息。

尝试用

kapt.use.worker.api=false

在你的gradle里。属性设置文件

参考:https://youtrack.jetbrains.com/issue/KT-40750

Android Studio的UI只是隐藏了错误……

当错误发生时,它突出显示列表视图中的项目,并在终端视图中显示无用的消息。 bad bad < / p >

以找到真正的错误,在列表视图中选择根项,这样Android Studio将在终端视图中显示整个构建输出,然后滚动以找到错误。 good good < / p >

这种方法发生在我身上的一切都有Room数据库和Coroutines的问题,甚至拼写错误。最后是当试图返回一个带有Flow after insert列的单个值时,通过:Flow<Long>从DAOs类返回。

它应该是一个suspend函数,插入列后只返回Long类型。

这些问题有时是模棱两可的,所以尝试阅读所有的构建输出消息,帮助我的消息是:error: Not sure how to handle insert method's return type.

什么都没用,我试了所有的方法,最后发现一个小错误造成了一个大问题。

返回到每个新创建的数据库文件,逐行仔细检查每个文件的代码。

检查Database类,检查Dao是否声明,例如,

abstract val commentDatabaseDao: CommentDatabaseDao

声明为瓦尔而不是var,这是在我的情况下,最终解决这个问题。

这事就发生在我身上。另一个开发人员没有正确地完成合并,所以这一行在代码中

<<<<<<< HEAD

而不是得到一个编译错误,我得到了KaptExecution错误。

在经历了很多痛苦之后,我决定尝试annotationProcessor而不是kapt,希望它至少可以显示一个错误消息或任何可以帮助我定位源代码的东西。但幸运的是(或不幸的是;由于浪费了时间),它成功地建立了,没有任何错误。 这主要是kapt本身的一个错误。所以,试试这个解决方案,它可能会有所帮助
我也有同样的问题。在我的情况下,问题是关于数据库。我必须修改这行代码 @Database(entities = [SearchedLocation::class, FavoriteLocation::class], version = 1) < / p >

我在数据库中添加了另一个表,但忘记在上面的行中添加表。

我有同样的错误。 我有两个问题。

  1. 您可能需要添加

    实现“2.2.5 androidx.room: room-ktx)”

  2. 我已经删除了一个文件,该文件在一个activity_xml文件中作为成员引用。这个错误从来没有给我任何线索,直到我把它改为annotationProcessor而不是kapt,然后它指出了错误,我找到了这个文件,果然我有一个引用到一个我不再使用并被删除的文件。我从xml中删除了这个数据引用,并将其全部清除。然后我把它放回去。

我刚刚将Android Studio IDE更新到4.1.1版本,并得到了类似的问题。

我意识到……

以前我没有一些*_Impl类(我知道它们在Kotlin的东西),甚至没有一些新的*Tests类。

所以,在“运行所有的世界”采取解决方案后,我只是做了一个直观和公平的选择:我删除了我“手工制作”中的所有文件。在Android Studio更新之前不存在的包

你猜怎么着?

它工作。没有问题,关于kapt甚至没有一个问题。

我并不是说这是最终的解决方案。但它可以为你工作。

祝你过得愉快。

如果你安装了新的kotlin插件(1.4.20-release-Studio4.1-1)并且有dagger (kapt 'com.google.dagger:dagger-compiler:2.30'),这个问题也会发生。在这种情况下,一种解决方案可能是用视图绑定(https://developer.android.com/topic/libraries/view-binding)替换已弃用的plugin: 'kotlin-android-extensions'

是的,我也得到了这个错误,这也是一个Room相关的问题。

我已经定义了我的TypeConverters,但是从来没有用:@TypeConverters(TypeConverter.class)注释了我的Room database

在我的情况下,我使用协程,但我忘记添加Kotlin扩展和协程支持的房间

def room_version = "2.2.6" 实现“androidx.room: room-ktx: room_version"美元;< / p >

在我的案例中,降低kotlin版本(从1.4.21到1.3.21)解决了我的问题。

    buildscript {
ext.kotlin_version = '1.3.21'


repositories {
google()
jcenter()
        

}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.1'
        

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" }
}

在我的情况下,我忘记在实体类中添加@PrimaryKey

如果在布局中的绑定表达式中使用非英语字符,则会发生这种情况。例如:

<TextView ... android:text="@{ viewModel.letterTitle, default=`Важное письмо` }" />

如果你执行“运行——stacktrace选项”;,你可以检查这种情况。如果stacktrace包含消息MalformedByteSequenceException: 2字节UTF-8序列中的第2字节无效。,则可能

  • 布局包含非英文字符
  • 或者某些源XML文件格式不正确
当我将房间添加到我的应用程序(Kotlin)时,我遇到了同样的问题。 我很难找到什么是错误的,最后发现我正在使用以下添加房间到我的应用程序
    //room
implementation 'android.arch.persistence.room:runtime:1.1.1'
kapt "android.arch.persistence.room:compiler:1.1.1"

所以我把上面两行换成了下面的,摆脱了痛苦。

    def room_version = "2.2.6"
implementation "androidx.room:room-runtime:$room_version"
kapt "androidx.room:room-compiler:$room_version"

如果对你有帮助,就按向上按钮

如果您正在使用Kotlin与Hilt

确保你的模块类有带注释的

@Module
@InstallIn(SingletonComponent::class)
class AppModule {
//...
}

我这里也有同样的问题。在我的例子中,原因是我在一个dagger模块中忘记了@Module注释。

要找到这样一个AS警报的真正问题,有必要深入:标题中的消息它只是最后一个,1个或多个错误的原因显示在左侧选择根元素,这显示了你确切的问题,检查我的打印屏幕如下:

in details final message < / p >

在升级到kotlin_version = '1.4.31'(从1.3.71)时得到完全相同的错误

以下moshi升级修复了我的问题:

implementation("com.squareup.moshi:moshi:1.11.0")
kapt("com.squareup.moshi:moshi-kotlin-codegen:1.11.0")

解决了只需增加gradle版本到最新

它在项目级别的gradle文件中,在dependencies块下。

classpath "com.android.tools.build:gradle:4.x.x"

当我试图在一个活动中使用刀柄注入一个私有字段时,发生了这种情况。解决方案是删除private关键字,以便更改

@Inject
private lateinit var appAnalytics: AppAnalytics

@Inject
lateinit var appAnalytics: AppAnalytics

我有一个枚举在我的实体属性使用ROOM。经过长时间的搜索,导致如下失败。

“:app:kaptDebugKotlin”任务执行失败。

执行org.jetbrains.kotlin.gradle.internal.KaptExecution时失败 java.lang.reflect.InvocationTargetException(无错误消息)

. /p
enum class Color{RED,BLACK,BLUE,GREEN,WHITE}
@Entity(tableName = "flower_table")
data class Flower(
@PrimaryKey(autoGenerate = true) val id: Int,
@ColumnInfo(name = "name") val name: String,
@ColumnInfo(name = "color") val color: Color)


val flower = Flower(2, "rose", Color.RED)

我的解决方案是在实体属性中使用枚举的索引。

@Entity(tableName = "flower_table")
data class Flower(
@PrimaryKey(autoGenerate = true) val id: Int,
@ColumnInfo(name = "name") val name: String,
@ColumnInfo(name = "color") val color: Int)


val flower = Flower(4, "tulip", Color.BLUE.ordinal)
希望它能对你有所帮助! PS,不要忘记更新数据库类中的版本数字
@Database(entities = [Flower::class], version = 2)
abstract class FlowerRoomDatabase : RoomDatabase() {
在我的情况下,当从jcenter()移动到mavenCentral()时,我得到了这个错误,我的一个依赖仅在jcenter()上可用,而不是mavenCentral()。 所以我向github上的所有者提交了相同的问题,并将等待删除jcenter(),直到它移动

我得到了同样的错误,对我来说,问题是我需要从Gradle JDK JDK version 16.0.1切换到Android Studio >首选项…比;构建、执行、部署等;构建工具>Gradle中的Android Studio java home version 11.0.10

我得到这个错误后,做以下:

  1. 升级Android Studio到Arctic Fox
  2. 更新Kotlin插件到1.5.21版本
  3. 升级我的Java版本到16

--stacktrace运行assembleDebug,我在日志中看到了这个异常:四处搜索,我找到了这个链接,它讨论了kaptJDK16+之间的兼容性问题。

我通过在我的gradle.properties文件中进行以下更改来解决这个问题: org.gradle.jvmargs=-Xmx1536m --illegal-access=permit < / p >

我开始得到这个后升级我的Android工作室Arctic Fox(2020.3.1)

我通过将JDK版本从1.8更新到Embedded JDK来解决这个问题。

修改JDK。

  • 在Android Studio中打开你的项目,选择文件>设置…>构建、执行、部署等;构建工具>Gradle

  • Mac: Android Studio >首选项…>构建、执行、部署等;构建工具>Gradle。

  • 在Gradle JDK下,选择嵌入式JDK选项。

如前所述在这里

对我来说,这个问题的发生是因为java版本的差异 在我的例子中
-我的工作室默认java版本是11
-我有一个库在我的项目与java版本8支持

< p >修复——< br > 1.使用命令/usr/libexec/java_home -V
列出所有已安装的java版本 2.拷贝java8路径:/Library/Java/JavaVirtualMachines/1.8.0_232.jdk/Contents/Home
3.去 文件-项目结构- SDK位置- jdk位置
添加您的java路径

此错误也是由于数据绑定错误造成的

  1. 检查变量是否指向正确的数据类
  2. 检查视图的字段(文本视图、可见性是否正确)
  3. 您已经导入了正确的导入(例如与可见性相关的操作)

在终端上单击——stacktrace查看错误的详细信息。你可以在这里找到它:

enter image description here

M1芯片解决方案

如果你有一台MacBook Pro,那么在房间编译器之前添加kapt "org.xerial:sqlite-jdbc:3.34.0"就有可能解决你的问题。

  kapt "org.xerial:sqlite-jdbc:3.36.0" // Only for computer with M1 CPU
implementation("androidx.room:room-ktx:$room_version")
kapt "androidx.room:room-compiler:$room_version"

看到更多的在这里

我花了几天时间才找到这个问题的解决方案,使用了androidx的高级版本。生命周期:lifecycle-compiler插件。

implementation 'androidx.lifecycle:lifecycle-runtime:2.2.0-alpha03'

kapt 'androidx.lifecycle:lifecycle-compiler:2.2.0-alpha03'

并从代码kapt "android.arch.lifecycle:compiler:1.1.1"中删除它

好吧,如果你使用Android Studio 4.1.2,这个问题也会发生。

所以,你要做的是:

  • 下载jdk 11(搜索和下载)

  • 在Android Studio中,去文件 ->项目结构Jdk的位置→切换到刚才下载的Jdk的路径。

在我的情况下,我只是重命名rootProject.name在/settings.gradle 我再次重复这个动作,它的工作..我不明白为什么会发生这种情况,但我希望这可以帮助其他人,节省他们的时间

看起来房间图书馆和苹果M1芯片有问题。

更新你的房间Lib版本到2.4.0-alpha03或以上,并重新同步项目。

为我工作!

在我的情况下,有旧的依赖需要升级, 所以你可以这样写:

1.文件→项目结构>

enter image description here

2.转到建议->

< p > 3。在警告部分,Android工作室会告诉你哪些依赖 需要升级->

4.直接从那里升级->

5.单击APPLY→

现在就可以了!

谢谢!

对我来说,问题是关于kotlin gradle插件。有时候android studio会自己更新kotlin gradle插件。回复gradle插件解决问题。

举个例子:

    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20"

:

    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.61"

在我的情况下,我解决它更新我的kotlin版本从1.3。X到1.6.0。

检查柯特林和刀柄的兼容版本

在我的情况下,添加新的片段总是会导致这个错误弹出,我调查了我在git上的提交更改,结果发现,每当我创建一个新的片段时,Android都会自动更新gradle插件,尽管没有给予它这样做的权限,所以我不得不回滚到我最初的gradle插件版本的项目级别的构建。gradle文件:

类路径的org.jetbrains.kotlin: kotlin-gradle-plugin: 1.7.0

类路径“org.jetbrains.kotlin: kotlin-gradle-plugin: 1.6.21"

监控你的git变化,找出Android对你的gradle文件做了什么,导致它崩溃。

这个答案对于那些在同一台机器(WINDOWS操作系统)上从一个帐户(用户)切换到另一个用户的人很有用。

我也遇到过类似的问题

failure occurred while executing org.jetbrains.kotlin.gradle.internal.kaptwithoutkotlinctask

但理由是拒绝批准下面的文件

C:\Android\.gradle\caches\modules-2\files-2.1\com.android.tools.build.jetifier\jetifier-core\1.0.0-beta09\c98ee0e5579aed97e17f605a89b101115a2f5a61\jetifier-core-1.0.0-beta09.jar

问题场景

我所做的是,复制C:\Android。Gradle \从我以前的机器到新机器。我在新机器上使用的用户帐户是X,我创建了一个新帐户,然后删除了帐户X。

由于X是所有者,新帐户在权限方面存在问题。

解决方案是改变所有权或删除C:\Android. exe。gradle\让Android Studio(AS)下载相同。 出于同样的原因,我在承诺时也遇到了所有权问题。 为了避免任何进一步的问题,我删除了C:\Android(其中包括.gradle, .android, C:\Android\Local\Android\Sdk文件夹)重新安装Android Studio

git子模块更新失败'fatal:在仓库中检测到可疑的所有权'