簡體   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