【问题标题】:Failed to load native library:sqlite-3.36.0 (attempting to use Room persistence library)无法加载本机库:sqlite-3.36.0(尝试使用 Room 持久性库)
【发布时间】:2022-01-24 05:40:37
【问题描述】:
Failed to load native library:sqlite-3.36.0-208a62b9-087f-4c8f-b123-bcea6f227593-libsqlitejdbc.so. osinfo: Linux/x86_64
java.lang.UnsatisfiedLinkError: /tmp/sqlite-3.36.0-208a62b9-087f-4c8f-b123-bcea6f227593-libsqlitejdbc.so: /tmp/sqlite-3.36.0-208a62b9-087f-4c8f-b123-bcea6f227593-libsqlitejdbc.so: failed to map segment from shared object

Android 级插件版本:7.0.4
Gradle 版本:7.3.3
Gradle JDK:11.0.10(Android Studio 默认 JDK)

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
}
dependencies {
    def room_version = "2.4.1"
...
    implementation "androidx.room:room-runtime:$room_version"
    annotationProcessor "androidx.room:room-compiler:$room_version"
}

我一直在努力寻找有关如何解决此问题的具体内容。 Android Room + Kotlin + Kapt + IntelliJ + MacOS Catalina: java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open_utf8

https://youtrack.jetbrains.com/issue/IDEA-246228

Android Studio 北极狐 | 2020.3.1 补丁 2
构建 #AI-203.7717.56.2031.7678000,构建于 2021 年 8 月 26 日
运行时版本:11.0.10+0-b96-7249189 amd64
虚拟机:JetBrains s.r.o. 的 OpenJDK 64 位服务器虚拟机
Linux 5.15.11-gentoo
GC:G1年轻代,G1老年代
内存:2048M
核心数:4

对于如何解决它的任何想法表示赞赏。

【问题讨论】:

    标签: android sqlite android-room


    【解决方案1】:

    这个问题是由于在 /tmp 上设置了 noexec。 如果您有必要的权限,您可以取消限制。 或者,您可以在 Android Studio 的 VM 选项中设置 java.io.tmpdir。

    更多详情请参阅Android kapt java.lang.UnsatisfiedLinkError Room

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-11
      • 1970-01-01
      • 2019-04-25
      • 1970-01-01
      • 2019-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多