从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的手机上运行它并且以同样的方式失败。
答案 0 :(得分:2)
0.88.0改变了添加Realm作为依赖的方式。所以而不是:
dependencies {
compile 'io.realm:realm-android:0.87.4'
}
你必须这样做:
apply-plugin: 'realm-android'
buildscript {
dependencies {
classpath 'io.realm:realm-gradle-plugin:0.89.0'
}
}