Эмулятор Android запускает приложение worklight с ошибкой с сообщением, что не удается загрузить файл wlclient.properties

Поскольку я впервые столкнулся с этой ошибкой при запуске приложения Worklight в эмуляторе Android, я переустановил пакет ADT, обновился до Luna с переустановкой подключаемых модулей ecplipse для ADT и Worklight. я импортирую проект из экземпляра kepler и успешно запускаю общее приложение. Сообщение об ошибке довольно ясно, что он не может загрузить файл wlclient.properties, но я не могу понять, почему. я изменил атрибут только для чтения и предоставил всем полный доступ. файл wlclient.properties существует в папке собственных ресурсов, и когда я его открываю, проблем нет, и информация кажется правильной. Я использую стандартное определение устройства, а также пробовал новое устройство. Вот дамп стека из DDMS:

10-23 11:34:55.770: D/dalvikvm(1749): Not late-enabling CheckJNI (already on)
10-23 11:34:55.850: W/ResourceType(1749): No known package when getting value for resource number 0x7f040000
10-23 11:34:55.850: W/PackageManager(1749): Failure retrieving text 0x7f040000 in package com.JSONstore
10-23 11:34:55.850: W/PackageManager(1749): android.content.res.Resources$NotFoundException: String resource ID #0x7f040000
10-23 11:34:55.850: W/PackageManager(1749):     at android.content.res.Resources.getText(Resources.java:244)
10-23 11:34:55.850: W/PackageManager(1749):     at android.app.ApplicationPackageManager.getText(ApplicationPackageManager.java:994)
10-23 11:34:55.850: W/PackageManager(1749):     at android.content.pm.ComponentInfo.loadLabel(ComponentInfo.java:85)
10-23 11:34:55.850: W/PackageManager(1749):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
10-23 11:34:55.850: W/PackageManager(1749):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
10-23 11:34:55.850: W/PackageManager(1749):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
10-23 11:34:55.850: W/PackageManager(1749):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
10-23 11:34:55.850: W/PackageManager(1749):     at android.os.Handler.dispatchMessage(Handler.java:102)
10-23 11:34:55.850: W/PackageManager(1749):     at android.os.Looper.loop(Looper.java:136)
10-23 11:34:55.850: W/PackageManager(1749):     at android.app.ActivityThread.main(ActivityThread.java:5017)
10-23 11:34:55.850: W/PackageManager(1749):     at java.lang.reflect.Method.invokeNative(Native Method)
10-23 11:34:55.850: W/PackageManager(1749):     at java.lang.reflect.Method.invoke(Method.java:515)
10-23 11:34:55.850: W/PackageManager(1749):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
10-23 11:34:55.850: W/PackageManager(1749):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
10-23 11:34:55.850: W/PackageManager(1749):     at dalvik.system.NativeStart.main(Native Method)
10-23 11:34:55.850: W/ResourceType(1749): No known package when getting value for resource number 0x7f040000
10-23 11:34:55.850: W/PackageManager(1749): Failure retrieving text 0x7f040000 in package com.JSONstore
10-23 11:34:55.850: W/PackageManager(1749): android.content.res.Resources$NotFoundException: String resource ID #0x7f040000
10-23 11:34:55.850: W/PackageManager(1749):     at android.content.res.Resources.getText(Resources.java:244)
10-23 11:34:55.850: W/PackageManager(1749):     at android.app.ApplicationPackageManager.getText(ApplicationPackageManager.java:994)
10-23 11:34:55.850: W/PackageManager(1749):     at android.content.pm.ComponentInfo.loadLabel(ComponentInfo.java:94)
10-23 11:34:55.850: W/PackageManager(1749):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
10-23 11:34:55.850: W/PackageManager(1749):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
10-23 11:34:55.850: W/PackageManager(1749):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
10-23 11:34:55.850: W/PackageManager(1749):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
10-23 11:34:55.850: W/PackageManager(1749):     at android.os.Handler.dispatchMessage(Handler.java:102)
10-23 11:34:55.850: W/PackageManager(1749):     at android.os.Looper.loop(Looper.java:136)
10-23 11:34:55.850: W/PackageManager(1749):     at android.app.ActivityThread.main(ActivityThread.java:5017)
10-23 11:34:55.850: W/PackageManager(1749):     at java.lang.reflect.Method.invokeNative(Native Method)
10-23 11:34:55.850: W/PackageManager(1749):     at java.lang.reflect.Method.invoke(Method.java:515)
10-23 11:34:55.850: W/PackageManager(1749):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
10-23 11:34:55.850: W/PackageManager(1749):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
10-23 11:34:55.850: W/PackageManager(1749):     at dalvik.system.NativeStart.main(Native Method)
10-23 11:34:55.900: D/AndroidRuntime(1749): Shutting down VM
10-23 11:34:55.900: W/dalvikvm(1749): threadid=1: thread exiting with uncaught exception (group=0xb0d8fb20)
10-23 11:34:55.950: E/AndroidRuntime(1749): FATAL EXCEPTION: main
10-23 11:34:55.950: E/AndroidRuntime(1749): Process: com.JSONstore, PID: 1749
10-23 11:34:55.950: E/AndroidRuntime(1749): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.JSONstore/com.JSONstore.JSONstore}: java.lang.RuntimeException: WLConfig(): Can't load wlclient.properties file
10-23 11:34:55.950: E/AndroidRuntime(1749):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at android.os.Handler.dispatchMessage(Handler.java:102)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at android.os.Looper.loop(Looper.java:136)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at android.app.ActivityThread.main(ActivityThread.java:5017)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at java.lang.reflect.Method.invokeNative(Native Method)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at java.lang.reflect.Method.invoke(Method.java:515)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at dalvik.system.NativeStart.main(Native Method)
10-23 11:34:55.950: E/AndroidRuntime(1749): Caused by: java.lang.RuntimeException: WLConfig(): Can't load wlclient.properties file
10-23 11:34:55.950: E/AndroidRuntime(1749):     at com.worklight.common.WLConfig.<init>(WLConfig.java:90)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at com.worklight.common.WLConfig.createInstance(WLConfig.java:96)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at com.worklight.wlclient.api.WLClient.createInstance(WLClient.java:190)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at com.worklight.common.Logger.setContext(Logger.java:478)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at com.worklight.androidgap.api.WL.<init>(WL.java:54)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at com.worklight.androidgap.api.WL.createInstance(WL.java:84)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at com.JSONstore.JSONstore.onCreate(JSONstore.java:20)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at android.app.Activity.performCreate(Activity.java:5231)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
10-23 11:34:55.950: E/AndroidRuntime(1749):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
10-23 11:34:55.950: E/AndroidRuntime(1749):     ... 11 more
10-23 11:34:55.990: D/dalvikvm(1749): GC_CONCURRENT freed 267K, 10% free 2972K/3296K, paused 19ms+0ms, total 70ms

а вот содержимое файла wlclient.properties.

wlServerProtocol = http
wlServerHost = 10.99.12.160
wlServerPort = 10080
wlServerContext = /FunWith/
wlAppId = JSONstore
wlAppVersion = 1.0
GcmSenderId = 
enableSettings = false
testWebResourcesChecksum = false
ignoredFileExtensions =  
webResourcesSize = 3462895
wlUid = kiWaVxEDXAUfwn/fyz3V8w==
wlPlatformVersion = 6.2.0.00.20140613-0730
wlMainFilePath = index.html
wlShareCookies = 
wlShareUserCert = false

(в качестве теста я изменил имя хоста на IP-адрес.)

Есть идеи?

Спасибо, Парке.


person Parke Cummins    schedule 23.10.2014    source источник
comment
1) Это пример приложения Worklight или ваше собственное приложение? 2) На физическом устройстве работает или так же как и в эмуляторе? 3) Вы используете очень старую версию Worklight; загрузите последнюю версию с Eclipse Marketplace (Справка › marketplace).   -  person Idan Adar    schedule 23.10.2014
comment
4) если вы создаете новое приложение › добавьте среду Android › запустите как – запустите на сервере разработки worklight › запустите как – приложение для Android; это работает?   -  person Idan Adar    schedule 23.10.2014
comment
Вы пробовали выше?   -  person Idan Adar    schedule 26.10.2014
comment
Это заняло некоторое время, потому что я пытался изолировать проблему: ошибка приложения net::ERR_FILE_NOT_FOUND (file:///android_asset/www/skinLoader.html. Опять же, файл действительно существует в указанном месте. Я подозреваю что какой-то настроенный путь или корень контекста настроен неправильно, но я этого не вижу. Это пользовательское приложение, использующее dojo, адаптер sql и jsonstore. Приложение завершается с идентичным сообщением при развертывании на физическом устройстве. однако у меня последняя версия worklight: v6.2.   -  person Parke Cummins    schedule 26.10.2014
comment
Убедитесь, что вы загружаете в приложение все требуемые компоненты dojo; Я бы также посоветовал начать с чистого листа, а затем добавлять кусочки, чтобы увидеть, когда это не удастся. Также убедитесь, что если вы не добавляете все компоненты додзё, то включить консоль додзё, которая будет поставлять недостающие компоненты во время тестирования; прочтите документацию пользователя dojo в Центре знаний IBM Worklight для получения дополнительной информации; Я подозреваю, что именно это вызывает тайм-аут, и приложение не может работать.   -  person Idan Adar    schedule 26.10.2014
comment
Идан, вы были правы, я использую старую версию Worklight. только что обновил его до пакета исправлений 1 (6.4.0.1) от 13 октября, но у меня такое же поведение. я предположил, что если бы я установил новое затмение, использовал другое рабочее пространство, то я бы получил отдельную/новую конфигурацию сервера. я убедился, что загружаю приложения додзё, но я вижу какое-то странное поведение в том, что один из пользовательских классов постоянно идентифицируется как нуждающийся в обновлении, и я вижу 2 источника в отладке Chrome. буду дальше сносить и строить.   -  person Parke Cummins    schedule 28.10.2014
comment
Я создал другую среду на виртуальной машине: Windows 8.1, worklight 6.2.0.1, последний плагин Android/sdk и настроил AVD с помощью atom/hax для запуска уровня API 19. Это сработало. мне не удалось найти wlclient.properties. Так что вернусь к моей рабочей станции с Windows 7, разорву все это и перестрою, так как моя первоначальная попытка состояла в том, чтобы просто создать отдельную среду разработки/тестирования, потерпела неудачу. Хотел бы я понять, почему мой эмулятор Android не может найти относительные местоположения...   -  person Parke Cummins    schedule 29.10.2014
comment
Является ли ваше приложение чистыми веб-ресурсами или вы написали какой-то нативный код? Если это чистая сеть, я бы, возможно, удалил родную папку и позволил worklight восстановить ее с нуля...   -  person Nathan H    schedule 30.10.2014
comment
@ user3208130, ты сделал какие-то выводы?   -  person Idan Adar    schedule 12.01.2015


Ответы (1)


Судя по обсуждению в комментариях, это, по-видимому, была проблема с локальной конфигурацией.

Я создал другую среду на виртуальной машине: Windows 8.1, worklight 6.2.0.1, последний плагин Android/sdk и настроил AVD с помощью atom/hax для запуска уровня API 19. Это сработало. мне не удалось найти wlclient.properties.

person Idan Adar    schedule 26.01.2015