java - 尝试在 Android Studio 上使用 Room

标签 java android sqlite

我正在尝试使用 Android Studio 中的 Room 持久性库创建一个应用程序。问题是当我尝试运行时它不起作用,它给了我以下消息:

Error:Execution failed for task ':app:compileDebugJavaWithJavac'. > java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open_utf8([BI)V

我正在关注此 https://www.youtube.com/watch?v=KAHAQunQkDE 的一切教程,并且它与视频中的人一起工作。也许是我应该安装的东西,但我不知道是什么。 (我仔细检查了视频上的每一步,一切正常,除了我的不运行)

最佳答案

在这种情况下,我的错误是由于 /tmp 使用 noexec 标志安装的。如果您使用的是 Linux,则可以使用 grep/tmp/proc/mounts 检查是否属于这种情况,以查看挂载选项。 sqlite JDBC 存储库有 an issue关于这个问题。

就我而言,我通过重新安装 /tmp 而不使用 noexec 选项来修复它。如果您不想(或不能),似乎建议设置 GRADLE_OPTS=-Djava.io.tmpdir=/some/other/path。上面链接的问题还提到了设置 org.sqlite.tmpdir`。不幸的是,通过在 Android Studio 中设置 gradle opts,这些似乎都不适合我。

关于java - 尝试在 Android Studio 上使用 Room,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49214994/

相关文章:

java - 方向更改后按钮和菜单停止工作

java - Android Firebase : Hashmap can't be cast to a given Object type

Java 不合成斜体字体

java - 无法实例化 Activity ComponentInfo Android 错误

android - 我在获取响应时处理我的 Web 服务 - 如何从服务器端获取响应?

android - 设置宽度时日期输入显示错误

sqlite - SQLite纪元时间(以毫秒为单位)

java - 无法将值插入到 android 中的 SQLite 数据库中

java - 如何在Java中打印指向数组的对象

vb.net - 将datagridview保存在数据库中的最佳方法