2014-03-31 41 views
0

環境:工作燈6.1:在Android JSONStore初始化問題4.2.2

工作燈6.1

三星標籤3

的Android 4.2.2

代碼初始化JSONStore -

var collections = {}; 
collections["SampleApp"] = {}; 
collections["SampleApp"].searchFields = {uName: 'string', uPassword: 'string'}; 

var options = {}; 
options.username = "offlineUser"; 
options.password = "psw12345"; 
options.localKeyGen = true; 
options.clear = false; 

WL.JSONStore.init(collections, options) 
.then(function() { 
    WL.Logger.debug("Successfully initialized JSON Store"); 
}) 
.fail(function (errorObject) { 
    WL.Logger.debug("Error while initialing JSON Store - " + errorObject); 
}); 

我在初始化JSONSto時收到以下異常重新 -

03-29 14:02:15.735: D/dalvikvm(18569): Trying to load lib /data/data/com.sample.mobile.SampleApp/files/libcrypto.so.1.0.0 0x424a8a20 
03-29 14:02:15.740: D/dalvikvm(18569): Added shared lib /data/data/com.sample.mobile.SampleApp/files/libcrypto.so.1.0.0 0x424a8a20 
03-29 14:02:15.740: D/dalvikvm(18569): No JNI_OnLoad found in /data/data/com.sample.mobile.SampleApp/files/libcrypto.so.1.0.0 0x424a8a20, skipping init 
03-29 14:02:15.785: W/PluginManager(18569): THREAD WARNING: exec() call to StoragePlugin.isKeyGenRequired blocked the main thread for 45ms. Plugin should use CordovaInterface.getThreadPool(). 
03-29 14:02:15.855: I/dalvikvm(18569): Could not find method org.json.JSONException.<init>, referenced from method com.worklight.androidgap.jsonstore.security.DPKBean.<init> 
03-29 14:02:15.855: W/dalvikvm(18569): VFY: unable to resolve direct method 24133: Lorg/json/JSONException;.<init> (Ljava/lang/Throwable;)V 
03-29 14:02:15.855: D/dalvikvm(18569): VFY: replacing opcode 0x70 at 0x000d 
03-29 14:02:16.830: D/dalvikvm(18569): Trying to load lib /data/app-lib/com.sample.mobile.SampleApp-1/libopenssl_fips.so 0x424a8a20 
03-29 14:02:16.830: D/dalvikvm(18569): Added shared lib /data/app-lib/com.sample.mobile.SampleApp-1/libopenssl_fips.so 0x424a8a20 
03-29 14:02:16.830: D/dalvikvm(18569): No JNI_OnLoad found in /data/app-lib/com.sample.mobile.SampleApp-1/libopenssl_fips.so 0x424a8a20, skipping init 
03-29 14:02:16.830: I/dalvikvm(18569): Could not find method com.google.common.collect.Maps.newHashMap, referenced from method net.sqlcipher.database.SQLiteDatabase.<init> 
03-29 14:02:16.830: W/dalvikvm(18569): VFY: unable to resolve static method 762: Lcom/google/common/collect/Maps;.newHashMap()Ljava/util/HashMap; 
03-29 14:02:16.830: D/dalvikvm(18569): VFY: replacing opcode 0x71 at 0x0024 
03-29 14:02:16.845: D/dalvikvm(18569): Trying to load lib /data/app-lib/com.sample.mobile.SampleApp-1/libstlport_shared.so 0x424a8a20 
03-29 14:02:16.845: D/dalvikvm(18569): Added shared lib /data/app-lib/com.sample.mobile.SampleApp-1/libstlport_shared.so 0x424a8a20 
03-29 14:02:16.845: D/dalvikvm(18569): No JNI_OnLoad found in /data/app-lib/com.sample.mobile.SampleApp-1/libstlport_shared.so 0x424a8a20, skipping init 
03-29 14:02:16.845: D/dalvikvm(18569): Trying to load lib /data/app-lib/com.sample.mobile.SampleApp-1/libsqlcipher_android.so 0x424a8a20 
03-29 14:02:16.850: D/dalvikvm(18569): Added shared lib /data/app-lib/com.sample.mobile.SampleApp-1/libsqlcipher_android.so 0x424a8a20 
03-29 14:02:16.850: D/dalvikvm(18569): No JNI_OnLoad found in /data/app-lib/com.sample.mobile.SampleApp-1/libsqlcipher_android.so 0x424a8a20, skipping init 
03-29 14:02:16.850: D/dalvikvm(18569): Trying to load lib /data/app-lib/com.sample.mobile.SampleApp-1/libdatabase_sqlcipher.so 0x424a8a20 
03-29 14:02:16.850: D/dalvikvm(18569): Added shared lib /data/app-lib/com.sample.mobile.SampleApp-1/libdatabase_sqlcipher.so 0x424a8a20 
03-29 14:02:16.850: I/Database(18569): JNI_OnLoad called 
03-29 14:02:16.850: I/Database(18569): JNI_OnLoad register methods 
03-29 14:02:16.850: E/jsonstore-core(18569): Error during provision 
03-29 14:02:16.850: E/jsonstore-core(18569): java.lang.NoClassDefFoundError: com.google.common.collect.Maps 
03-29 14:02:16.850: E/jsonstore-core(18569): at net.sqlcipher.database.SQLiteDatabase.<init>(SQLiteDatabase.java:352) 
03-29 14:02:16.850: E/jsonstore-core(18569): at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:900) 
03-29 14:02:16.850: E/jsonstore-core(18569): at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:947) 
03-29 14:02:16.850: E/jsonstore-core(18569): at com.worklight.androidgap.jsonstore.database.DatabaseManager.openDatabaseIfNecessary(DatabaseManager.java:185) 
03-29 14:02:16.850: E/jsonstore-core(18569): at com.worklight.androidgap.jsonstore.database.DatabaseManager.checkDatabaseAgainstSchema(DatabaseManager.java:87) 
03-29 14:02:16.850: E/jsonstore-core(18569): at com.worklight.androidgap.plugin.storage.ProvisionActionDispatcher.isSchemaMismatched(ProvisionActionDispatcher.java:155) 
03-29 14:02:16.850: E/jsonstore-core(18569): at com.worklight.androidgap.plugin.storage.ProvisionActionDispatcher.dispatch(ProvisionActionDispatcher.java:293) 
03-29 14:02:16.850: E/jsonstore-core(18569): at com.worklight.androidgap.plugin.storage.BaseActionDispatcher.dispatch(BaseActionDispatcher.java:87) 
03-29 14:02:16.850: E/jsonstore-core(18569): at com.worklight.androidgap.plugin.storage.DispatchingPlugin$ActionDispatcherRunnable.run(DispatchingPlugin.java:113) 
03-29 14:02:16.850: E/jsonstore-core(18569): at com.worklight.androidgap.plugin.storage.DispatchingPlugin$SerialExecutor$1.run(DispatchingPlugin.java:147) 
03-29 14:02:16.850: E/jsonstore-core(18569): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
03-29 14:02:16.850: E/jsonstore-core(18569): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
03-29 14:02:16.850: E/jsonstore-core(18569): at java.lang.Thread.run(Thread.java:856) 
03-29 14:02:16.865: D/SampleApp(18569): Error while initialing JSON Store - { 
03-29 14:02:16.865: D/SampleApp(18569): "src": "initCollection", 
03-29 14:02:16.865: D/SampleApp(18569): "err": -1, 
03-29 14:02:16.865: D/SampleApp(18569): "msg": "PERSISTENT_STORE_FAILURE", 
03-29 14:02:16.865: D/SampleApp(18569): "col": "SampleApp", 
03-29 14:02:16.865: D/SampleApp(18569): "usr": "offlineUser", 
03-29 14:02:16.865: D/SampleApp(18569): "doc": {}, 
03-29 14:02:16.865: D/SampleApp(18569): "res": {} 
03-29 14:02:16.865: D/SampleApp(18569): } 
03-29 14:02:16.865: D/SampleApp(18569): loadServerConnectionDetails 
03-29 14:02:16.885: E/SampleApp(18569): [wl.jsonstore] {"src":"initCollection","err":-1,"msg":"PERSISTENT_STORE_FAILURE","col":"SampleApp","usr":"offlineUser","doc":{},"res":{}} 

請讓我知道,如果更多的數據需要從我身邊。 任何幫助將不勝感激。

+3

您是否在某處使用com.google.common.collect.Maps包?這是說它無法找到它。但請注意,這與JSONStore完全無關,因爲JSONStore不會使用此包;這是一個鏈接錯誤,這意味着該庫沒有被正確包含。 –

回答

0

異常正在發生,因爲構建機器上缺少guava.jar文件 -

/apps/SampleApp/android/native/libs/guava.jar

其接到升級後生成Worklight 6.0到6.1。

我們遵循worklight doc - Integrating with source control systems,它沒有提及有關「libs」文件夾的任何內容,因此未檢入該文件。

現在生成機器將取入任何內容並構建APK文件。生成的APK文件不包含「guava.jar」文件,其中包含「com.google.common.collect.Maps」包。因此我們看到了這個問題。

注意:添加更改以使用JSONStore後,我們發現問題。所以它看起來像JSONStore使用這個包。

+0

「/apps/SampleApp/android/native/libs/guava.jar」不會生成爲「構建所有環境」的一部分。這臺工作燈是否有缺陷? –

+0

我會打開一個缺陷。至少這是一個文檔缺陷,但可以調查它是否也是構建問題。 – Barbara