领域0.89导致UnsatisfiedLinkError

时间:2016-04-22 01:07:17

标签: 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__)     at io.realm.internal.Util.nativeGetTablePrefix(Native Method)     at 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)     at 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存在问题,但是我在安装了M的手机上运行它并且以同样的方式失败。

1 个答案:

答案 0 :(得分:2)

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

  • build.gradle(app level)

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

你必须这样做:

  • build.gradle(app level)

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

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