android - Realm 0.89 导致 UnsatisfiedLinkError

标签 android realm

自从从 Realm 0.83.1 升级到 0.85 或 0.89 后,我无法运行该应用程序。所以我被困在 0.83.1 版本。我在设备上运行时遇到这个奇怪的链接错误。我正在尝试加密数据库,但只有 0.85 或更高版本才完全支持它。任何帮助将不胜感激!

这是我的 Logcat 输出: 由以下原因引起:java.lang.UnsatisfiedLinkError:未找到 java.lang.String io.realm.internal.Util.nativeGetTablePrefix() 的实现 (试过 Java_io_realm_internal_Util_nativeGetTablePrefix 和 Java_io_realm_internal_Util_nativeGetTablePrefix__) 在 io.realm.internal.Util.nativeGetTablePrefix( native 方法) 在 io.realm.internal.Util.getTablePrefix(Util.java:47) 在 io.realm.internal.Table.(Table.java:38) 在 io.realm.RealmSchema.(RealmSchema.java:40) 在 io.realm.BaseRealm.(BaseRealm.java:78) 在 io.realm.Realm.(Realm.java:138) 在 io.realm.Realm.createAndValidate(Realm.java:269) 在 io.realm.Realm.createInstance(Realm.java:249) 在 io.realm.RealmCache.createRealmOrGetFromCache(RealmCache.java:114) 在 io.realm.Realm.getDefaultInstance(Realm.java:195)

我尝试创建一个空项目,它似乎工作正常,但它不适用于我的真实项目。我怀疑 multi-dex 有问题,但我在装有 Android M 的手机上运行它,但同样失败了。

最佳答案

0.88.0 改变了添加 Realm 作为依赖的方式。所以不是:

  • build.gradle(应用级别)

.

 dependencies {
     compile 'io.realm:realm-android:0.87.4'
 }

你必须做的:

  • build.gradle(应用级别)

.

apply-plugin: 'realm-android'
  • build.gradle(项目级别)

.

buildscript {
    dependencies {
         classpath 'io.realm:realm-gradle-plugin:0.89.0'
    }
}

关于android - Realm 0.89 导致 UnsatisfiedLinkError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36782961/

相关文章:

android - 无法压缩域。 Realm.getInstance 使我的应用程序在 LG G5 上崩溃

android - 此场景应用内计费应该做什么

Android JsonArray 和 JsonObject 反序列化

android - 获取对内部电话连接实例的引用

android - 用 robolectric 测试 toast

tomcat - 使用 md5 和 salt 进行 j 安全检查

android - Flurry - 定时事件问题

java - 导致 UI 线程卡住的多个 Realm 事务

java - 这是在 Android 中使用 Realm 的正确方法吗?

swift - 在 Swift 中初始化没有数据的 Realm 对象