我正在尝试使用Realm。我在app start上设置了build.gradle并调用了Realm.init(context)。
问题是,应用程序在启动时崩溃。
这是日志:
java.lang.RuntimeException: Unable to create application com.test.android com.getkeepsafe.relinker.MissingLibraryException: lib/armeabi/librealm-jni.so
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5406)
at android.app.ActivityThread.-wrap2(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: com.getkeepsafe.relinker.MissingLibraryException: lib/armeabi/librealm-jni.so
at com.getkeepsafe.relinker.ApkLibraryInstaller.installLibrary(ApkLibraryInstaller.java:85)
at com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal(ReLinkerInstance.java:180)
at com.getkeepsafe.relinker.ReLinkerInstance.loadLibrary(ReLinkerInstance.java:136)
at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:70)
at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:57)
at io.realm.internal.RealmCore.loadLibrary(RealmCore.java:59)
at io.realm.Realm.init(Realm.java:187)
该项目使用另一个仅支持armeabi
的库。这就是为什么我添加了一个abiFilter
ndk { abiFilters "armeabi" }
在此处添加其他值将导致该库崩溃。
我有没有办法只使用Realm作为“armeabi”?
答案 0 :(得分:1)
我认为您的问题是,自从Realm 2.0,armeabi
支持被删除,只有armeabi-v7
有效(阅读change log: armeabi is not supported anymore
)。
存在问题tracking it here。
但是,您仍然可以使用Realm 1.2.0,它也可以使用。您可以参考this guide for the breaking changes in 2.x so that you can revert that behavior,否则它的工作方式完全相同。
答案 1 :(得分:0)
已解决。
仅将gradle类路径更新为类路径“ io.realm:realm-gradle-plugin:5.11.0”
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.0.1'
classpath "io.realm:realm-gradle-plugin:5.11.0"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files`enter code here`
}
答案 2 :(得分:0)
我也遇到了同样的问题。现在,只需将此领域版本添加到项目级别gradle classpath 'io.realm:realm-gradle-plugin:6.0.0'