Rom*_*man 151 android jdbc android-room
我正在使用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 或更高版本。
小智 188
如果您使用的是 Apple M1 芯片
\njetpack 提到的发行说明之一(版本 2.4.0-alpha03 )
\n将版本更改为2.4.0-alpha03或更高版本
\nimplementation "androidx.room:room-runtime:2.4.0-alpha03"\nannotationProcessor "androidx.room:room-compiler:2.4.0-alpha03"\nkapt \'androidx.room:room-compiler:2.4.0-alpha03\'\n
Run Code Online (Sandbox Code Playgroud)\n参考
\nhttps://developer.android.com/jetpack/androidx/releases/room#version_240_2
\nsha*_*sar 74
更新(2021 年 10 月 26 日)- Room 似乎在最新更新中得到了修复,因此您可以考虑将 Room 更新到最新版本:---- 2.4.0-alpha03 ---- 或更高版本
对于那些面临此问题的人,您现在可以简单地在房间编译器之前添加此行作为解决方法:
kapt "org.xerial:sqlite-jdbc:3.34.0"
如果提到的解决方法不起作用,我建议使用此解决方法,将其添加到根 build.gradle。这将强制在整个项目中使用给定的依赖项:
allprojects {
configurations.all {
resolutionStrategy {
force 'org.xerial:sqlite-jdbc:3.34.0'
}
}
}
Run Code Online (Sandbox Code Playgroud)
Rom*_*man 22
Room [2.4.0-alpha04] 修复了这个问题。
并删除 kapt“org.xerial:sqlite-jdbc:3.34.0”
Uts*_*wal 22
这对我有用:
room
将版本更改2.3.0
为应用程序级别build.gradle
def room_version = "2.3.0" // for Room
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
testImplementation "androidx.room:room-testing:$room_version"
Run Code Online (Sandbox Code Playgroud)
在项目级别build.gradle
,添加以下配置allprojects
allprojects {
repositories {
// ...
}
// ADD THE FOLLOWING
configurations.all {
resolutionStrategy {
force 'org.xerial:sqlite-jdbc:3.34.0'
}
}
}
Run Code Online (Sandbox Code Playgroud)
清理并重建您的项目:)
参考:Google IssueTracker 上的评论
小智 16
Room 在版本 2.4.0-alpha03上修复了此问题
\n修复了 Room\xe2\x80\x99s SQLite 本机库的问题,以支持 Apple\xe2\x80\x99s M1 芯片。
\n更新:\n房间最新版本是“2.4.2”
\nval roomVersion = "2.4.2"\nimplementation("androidx.room:room-runtime:$roomVersion")\nannotationProcessor("androidx.room:room-compiler:$roomVersion")\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
58060 次 |
最近记录: |