房间数据库在 macbook pro m1 中不起作用

Posted

技术标签:

【中文标题】房间数据库在 macbook pro m1 中不起作用【英文标题】:Room database is not working in mac book pro m1 【发布时间】:2021-10-25 14:11:10 【问题描述】:

房间数据库在 mac book pro m1 中不工作 我已经添加了 id 'kotlin-kapt'

screen shoot of android studio console log

出了什么问题:任务 ':app:kaptDebugKotlin' 执行失败。

执行 org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction 时发生故障 java.lang.reflect.InvocationTargetException(没有错误信息)

引起:java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 方法)在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing(annotationProcessing.kt:90) 在 org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing$default(annotationProcessing.kt:31) 在 org.jetbrains.kotlin.kapt3.base.Kapt.kapt(Kapt.kt:45)​​ ... 31 更多

原因:java.lang.Exception:找不到本机库 os.name=Mac 和 os.arch=aarch64。路径=/org/sqlite/native/Mac/aarch64 在 org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:333) 在 org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:64) 在 androidx.room.verifier.DatabaseVerifier.(DatabaseVerifier.kt:71) ... 50 更多

【问题讨论】:

【参考方案1】:

只需使用 Room 2.4.0-alpha03

def room_version = "2.4.0-alpha03"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"

编辑:答案包括解决问题的两个解决方案,因为上面写的解决方案对许多人来说都是成功的,所以另一个解决方案被删除了。

【讨论】:

def room_version = "2.3.0" annotationProcessor "androidx.room:room-compiler:$room_version" implementation 'androidx.room:room-ktx:2.3.0' kapt "androidx.room:room -compiler:$room_version" 添加 2.4.0-alpha03 import androidx.room.migration.AutoMigrationSpec 后面临此错误; ^ 符号:类 AutoMigrationSpec 位置:包 androidx.room.migration 将错误和您的 gradle 文件详细添加到您的问题中 解决方案 B 对我有用。非常感谢! 解决方案 B 对我有用。【参考方案2】:

添加依赖: kapt "org.xerial:sqlite-jdbc:3.34.0"

【讨论】:

这个问题是怎么解决的,能详细点吗?

以上是关于房间数据库在 macbook pro m1 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 在 M1 MacBook Pro 上引发构建错误

“因为内存泄漏,我的 M1 MacBook Pro 瘫痪了”

“因为内存泄漏,我的 M1 MacBook Pro 瘫痪了”

在新的 macbook pro M1 上安装错误 pod

M1 MacBook Pro Android Studio 安装问题 - 没有下载 SDK

MacBook Pro m1 搭建前端开发环境