2016-04-22 5 views
1

Seit dem Upgrade von Realm 0.83.1 auf 0.85 oder 0.89 kann ich die App nicht mehr ausführen. Also stecke ich in der Version 0.83.1 fest. Ich bekomme diesen seltsamen Linkfehler, wenn ich auf dem Gerät laufe. Ich versuche die Datenbank zu verschlüsseln, aber sie wird nur in 0.85 oder höher vollständig unterstützt. Jede Hilfe wäre willkommen!Realm 0.89 verursacht UnbefriedigendLinkError

Hier ist meine Logcat Ausgabe: Verursacht durch: java.lang.UnsatisfiedLinkError: keine Implementierung für java.lang.String io.realm.internal.Util.nativeGetTablePrefix() (versuchte Java_io_realm_internal_Util_nativeGetTablePrefix und Java_io_realm_internal_Util_nativeGetTablePrefix__) gefunden bei io.realm.internal.Util.nativeGetTablePrefix (Native Methode) bei io.realm.internal.Util.getTablePrefix (Util.java:47) bei io.realm.internal.Table. (Table.java:38) bei io.realm.RealmSchema. (RealmSchema.java:40) bei io.realm.BaseRealm (BaseRealm.java:78) bei io.realm.Realm (Realm.java:138) an io.realm.Realm.createAndValidate (Realm.java:269) bei io.realm.Realm.createInstance (Realm.java:249) bei io.realm.RealmCache.createRealmOrGetFromCache (RealmCache.java:114) bei io.realm.Realm.getDefaultInstance (Realm.java:195)

Ich habe versucht, ein leeres Projekt zu erstellen und es scheint gut zu funktionieren, aber es funktioniert nicht auf meinem realen Projekt. Ich vermute ein Problem mit Multi-Dex, aber ich lief es auf einem Telefon mit Android M und es scheiterte auf die gleiche Weise.

+0

Sie müssen die Reich-android-Plugin von Anweisungen hier anwenden https://realm.io/docs/java/latest/#getting-started und Sie müssen den 'kompiliert‚io.realm entfernen: Reich -android: 0.xx.x'' von der Größe. Versuchen Sie auch, das Projekt zu säubern und zu bauen. :) – beeender

+0

Haben Sie eine benutzerdefinierte Abhängigkeit in Ihrem Projekt? Oder vielleicht eine Abhängigkeit, die Realm umfasst? – Rafa0809

Antwort

2

0.88.0 hat die Art des Hinzufügens von Realm als Abhängigkeit geändert. Also statt:

  • build.gradle (App-Ebene)

.

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

Sie zu tun haben:

  • build.gradle (App-Ebene)

.

apply-plugin: 'realm-android' 
  • build.gradle (Projektebene)

.

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