繁体   English   中英

与人行横道的领域冲突

[英]Realm conflicts with Crosswalk

在我的应用程序中,我必须使用Realm和Crosswalk库。 我已经从gradle导入了Realm,如下所示:

Project gradle
dependencies {
        classpath "io.realm:realm-gradle-plugin:2.2.1"
    }

// ----------------------

App module gradle
apply plugin: 'realm-android'

和Crosswalk应用程序,就像一个单独的项目(不是gradle)。 当我运行我的应用程序时,它崩溃并显示以下日志:

I/art: Late-enabling -Xcheck:jni
D/XWalkLib: Pre init xwalk core in com.app.myapp.LoginActivty
D/XWalkActivity: Initialize by XWalkInitializer
D/XWalkLib: DecompressTask started
W/ResourceType: No package identifier when getting value for resource number 0x00000000
D/XWalkLib: Reserve object class com.app.myapp.CustomView.MyXwalkView to com.app.myapp.LoginActivty
D/XWalkLib: Reserve object class com.app.myapp.LoginActivty$ResourceClient to com.app.myapp.LoginActivty
D/XWalkLib: Reserve method setResourceClient to com.app.myapp.LoginActivty
D/XWalkLib: DecompressTask finished, 0
D/XWalkLib: ActivateTask started
D/XWalkLib: Attach xwalk core
D/XWalkLib: [App Version] build:22.52.561.4, api:7, min_api:1
D/XWalkLib: [Lib Version] build:22.52.561.4, api:7, min_api:5
D/XWalkLib: Crosswalk download mode: false
D/XWalkLib: XWalk core version matched
D/XWalkLib: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.app.myapp-2/base.apk"],nativeLibraryDirectories=[/data/app/com.app.myapp-2/lib/arm64, /system/fake-libs64, /data/app/com.app.myapp-2/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]] couldn't find "libxwalkcore.so"
D/XWalkLib: java.lang.UnsatisfiedLinkError: dlopen failed: library "/data/user/0/com.app.myapp/app_xwalkcore/libxwalkcore.so" not found
D/XWalkLib: Device ABI: arm64-v8a
D/XWalkLib: org.xwalk.core not found
D/XWalkLib: org.xwalk.core64 not found
I/OpenGLRenderer: Initialized EGL, version 1.4
D/OpenGLRenderer: Swap behavior 2
D/XWalkLib: ActivateTask finished, 6
D/XWalkLib: Crosswalk APK download URL: 
D/XWalkLib: HttpDownloadTask started, 
E/XWalkLib: Invalid download URL 
D/XWalkLib: HttpDownloadTask finished, -1

但是,当我从gradle中删除Realm表示法时,Crosswalk可以完美运行...那么,如何同时使用Realm和Crosswalk?

您的应用程序中包括了Crosswalk的哪些ABI?

从Logcat中看来,您的项目正在尝试寻找Crosswalk库的arm64版本,但在APK中找不到它。

Realm AAR随附以下ABI(arm64-v8a,armeabi-v7a,mips,x86和x86_64),因此在加载Realm库时,设备将选择合适的可用ABI,在我们的案例中为arm64-v8a 我认为您的Crosswalk库不包含arm64-v8a ABI,因此是错误的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM