2017-02-13 5 views
-1

現在、x86アーキテクチャのAndroidデバイスとAVDで完全に動作するMobileFirst Foundation 8.0(20170131)を使用して、Cordovaアプリケーションを開発中です。しかし、Note 5やGoogle Pixelのような64ビットアーキテクチャのデバイスには、JSONStore APIを初期化するときにエラーメッセージが表示されます。ここではassets/featurelibsにあるlibcrypto.so.zipファイルは32ビットです64ビットの。JSONStoreエラー:-11 msg:OPERATION_FAILED_ON_SPECIFIC_DOCUMENT

アンドロイドスタジオ(V2.2.3)でエラーが発生しました:

02-11 13:18:43.136 9317-10425/com.mobiInspect E/JSONSTORE: JSONStoreLogger.logError in JSONStoreLogger.java:192 :: error while dispatching action "provision" 
                  java.lang.UnsatisfiedLinkError: dlopen failed: "/data/data/com.mobiInspect/no_backup/libcrypto.so.1.0.0" is 32-bit instead of 64-bit 
                   at java.lang.Runtime.load0(Runtime.java:908) 
                   at java.lang.System.load(System.java:1505) 
                   at com.worklight.jsonstore.util.JSONStoreUtil.loadLib(JSONStoreUtil.java:264) 
                   at com.worklight.jsonstore.api.WLJSONStore.<init>(WLJSONStore.java:71) 
                   at com.worklight.jsonstore.api.WLJSONStore.getInstance(WLJSONStore.java:273) 
                   at com.worklight.androidgap.jsonstore.dispatchers.ProvisionActionDispatcher.initializeCollection(ProvisionActionDispatcher.java:149) 
                   at com.worklight.androidgap.jsonstore.dispatchers.ProvisionActionDispatcher.databaseActionDispatch(ProvisionActionDispatcher.java:139) 
                   at com.worklight.androidgap.jsonstore.dispatchers.BaseDatabaseActionDispatcher.actionDispatch(BaseDatabaseActionDispatcher.java:36) 
                   at com.worklight.androidgap.jsonstore.dispatchers.BaseActionDispatcher.dispatch(BaseActionDispatcher.java:90) 
                   at com.worklight.androidgap.jsonstore.dispatchers.DispatchingPlugin$ActionDispatcherRunnable.run(DispatchingPlugin.java:79) 
                   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                   at java.lang.Thread.run(Thread.java:761) 
02-11 13:18:43.148 9317-10425/com.mobiInspect D/JSONSTORE:JSONStoreLogger.logDebug in JSONStoreLogger.java:177 :: os.arch: x86_64 
02-11 13:18:43.152 9317-10425/com.mobiInspect D/JSONSTORE: JSONStoreLogger.logDebug in JSONStoreLogger.java:177 :: Extracting zip file: featurelibs/x86/libcrypto.so.1.0.0 
02-11 13:18:43.155 9317-9317/com.mobiInspect W/art: Attempt to remove non-JNI local reference, dumping thread 
02-11 13:18:43.264 9317-10425/com.mobiInspect D/JSONSTORE: JSONStoreLogger.logDebug in JSONStoreLogger.java:177 :: Loading library using System.load: /data/user/0/com.mobiInspect/no_backup/libcrypto.so.1.0.0 
02-11 13:18:43.269 9317-10425/com.mobiInspect D/JSONSTORE: JSONStoreLogger.logDebug in JSONStoreLogger.java:177 :: com.mobileiron.wrapped is set to false 
02-11 13:18:43.281 9317-10425/com.mobiInspect D/JSONSTORE: JSONStoreLogger.logDebug in JSONStoreLogger.java:177 :: Loading library using System.load: /data/user/0/com.mobiInspect/no_backup/libcrypto.so.1.0.0 
+0

MobileFirst Foundationに加えて、他のCordovaプラグインを使用していますか?質問をすべてのプラグインのリストで更新してください。 –

+0

インストールしたサードパーティのプラグインの1つまたは複数がこのエラーの原因になると思います。 cordova-plugin-mfpとcordova-plugin-mfp-jsonstoreだけで新しいアプリケーションを作成すると、このエラーは表示されません。 –

+0

@Srujan reddy MFP JSONStore 8.0のサンプルを試しました。[こちら](https://mobilefirstplatform.ibmcloud.com/tutorials/ja/foundation/8.0/application-development/jsonstore/cordova/)で提供されています。 64ビットデバイス。これをNexus 5Xで試してみました。さらにデバッグするには、問題を再現したサンプルを共有してください。 –

答えて

1

これは、我々がgradelfileで使用しているのrenderScriptです。このレンダスクリプトはapkを構築している間にX86_64とarmv-64aのライブラリをインポートします。この問題を解決するために

、我々は二つの選択肢

1を持っている)私たちは、ビルドから64ビットのLIBSを削除するか、build.gradleファイルにNDKプロパティの下に使用することによってのみ、32ビットアーキテクチャをパッケージ化するabiFiltersを設定することができます:

android { 
    .... 
    defaultConfig { 
     .... 
     ndk { 
      abiFilters "armeabi", "armeabi-v7a", "x86", "mips" 
     } 
    } 
} 

2)rendererscriptApiとrendererscriptEnableModeをコメントアウトし、apkを再パッケージします。

関連する問題