我在我的 Linux 工作站上安装了一个新的硬盘驱动器。看起来效果很好。我想在新磁盘中下载一些存储库。所以我执行了git clone XXX,效果很好。但是当我在文件夹中cd并执行git submodule update --init --recursive. 它失败了
fatal: detected dubious ownership in repository at '/media/data/users/jhu3szh/serialize'
To add an exception for this directory, call:
git config --global --add safe.directory /media/data/users/jhu3szh/serialize
Run Code Online (Sandbox Code Playgroud)
我想也许这只是一个轻微的警告,所以我就执行了git config --global --add safe.directory /media/data/users/jhu3szh/serialize。然而,当我再次执行 Git 子模块时,又出现了更多类似的错误。存储库中有许多子模块。
发生的事情有何解释?
我正在使用Android Studio [Android Studio 北极狐 | 2020.3.1 补丁1]
My room library version is [2.3.0]
Used Gradle version [7.0.1]
Also added kapt 'org.xerial:sqlite-jdbc:3.36.0.1'
Caused by: java.lang.Exception: No native library is found for os.name=Mac and os.arch=aarch64. path=/org/sqlite/native/Mac/aarch64 at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:333) at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:64) at androidx.room.verifier.DatabaseVerifier.<clinit>(DatabaseVerifier.kt:71)
Run Code Online (Sandbox Code Playgroud)
如何解决这个错误?
解决方案 使用 Room 版本:2.4.0-alpha03 或更高版本。
首先,
我非常清楚这里已经发布了很多关于此错误的问题,但似乎没有一个有适当的解决方案,尤其是我需要的解决方案。
我被以下错误困扰了一个多星期。
我正在开发一个使用 Kotlin、MVVM、Clean Arch 和导航组件构建的 android 项目。
我最近添加了领域数据库,为此我不得不添加以下插件。
apply plugin: 'kotlin-kapt'
apply plugin: 'realm-android'
Run Code Online (Sandbox Code Playgroud)
我认为真正的问题是从这里开始的。
(之后我添加了一个 DatabaseManager 类,它使用了我编写的一些领域扩展函数来进行数据库操作。)
在此之后编译项目时,整体出现以下错误。
A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
Run Code Online (Sandbox Code Playgroud)
连同以下
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 …Run Code Online (Sandbox Code Playgroud) 自从我升级到 Kotlin 1.6.10 并将 room 升级到 2.4.0 后,我收到了错误。该错误尚不清楚,所以我真的不知道从哪里开始寻找。
任务“:app:kaptDebugKotlin”执行失败。执行 org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction java.lang.reflect.InitationTargetException 时发生失败(无错误消息)
尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --scan 运行以获得完整的见解。
我猜测我的实体中有一些不兼容的东西,但是当降级时一切都可以完美地工作。我的问题是:我怎样才能发现问题所在?对我来说,这些错误是相当模糊的。
当我运行 gradlew --scan 时,它说我的 JVM 仍然是 1.8,但我已经将所有地方更新为 11。
编辑:我已经通过更改 org.gradle.java.home 属性设法强制我的 Gradle 使用 11。现在它给了我以下错误:
A failure occurred while executing
org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
(No message provided)
(No message provided)
java.lang.IllegalArgumentException: <nulltype> cannot be represented as a Class<?>.
<nulltype> cannot be represented as a Class<?>.
Run Code Online (Sandbox Code Playgroud)
编辑2:
我在另一个 StackOverflow 线程中读到我应该将 AS 更新到我所做的最新补丁。不幸的是,这没有帮助。
编辑3:
房间版本(2.4.1)似乎也是问题的一部分。当降级除房间以外的所有内容时,它仍然是一个错误。如果我尝试使用 kotlin 1.5.31、room 2.3.0 和 compose 1.0.5 运行,它运行良好。
编辑4:
升级到 …
[使用Gradle 4.0.0],我尝试在Andriod Studio 4的Android Kotlin中按房间实现本地存储。当我尝试构建项目时,我在构建控制台中遇到错误
执行 org.jetbrains.kotlin.gradle.internal.KaptExecution 时发生故障
图片:
摇篮:
apply plugin: 'kotlin-kapt'
implementation "androidx.room:room-runtime:$room_version"
kapt "androidx.room:room-compiler:$room_version"
Run Code Online (Sandbox Code Playgroud)
请帮助我展示解决方案