2016-04-22 55 views
1

由於從Realm 0.83.1升級到0.85或0.89,我無法運行該應用程序。所以我卡在0.83.1版本。我在設備上運行時遇到了這個奇怪的鏈接錯誤。我試圖加密數據庫,但它只支持0.85或更高。任何幫助,將不勝感激!領域0.89導致UnsatisfiedLinkError

這裏是我的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 Method) at io.realm.internal.Util.getTablePrefix(Util.java:47) at io.realm.internal.Table。(Table.java:38) at io.realm.RealmSchema。(RealmSchema.java:40) at io.realm.BaseRealm。(BaseRealm.java:78) at 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

您需要通過這裏https://realm.io/docs/java/latest/#getting-started說明應用領域,Android插件,你需要刪除'編譯「io.realm:境界-roid:來自gradle的0.xx.x''。也嘗試清理項目和構建。 :) – beeender

+0

你在你的項目中的自定義依賴項?或者可能是任何包含Realm的依賴項? – Rafa0809

回答

2

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' 
    } 
}