【发布时间】:2014-10-23 17:22:43
【问题描述】:
自从我第一次遇到无法在 android 模拟器中启动 worklight 应用程序以来,我重新安装了 ADT 包,升级到 Luna,并重新安装了 ADT 和 worklight 的 ecplipse 插件。我从开普勒实例导入项目并成功运行通用应用程序。错误消息很清楚,它无法加载 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地址作为测试。)
有什么想法吗?
谢谢, 帕克
【问题讨论】:
-
1) 这是 Worklight 示例应用程序还是您自己的应用程序? 2)它是在物理设备中工作还是像在模拟器中一样失败? 3) 您使用的是非常旧的 Worklight 版本;从 Eclipse Marketplace(帮助 > 市场)下载最新版本。
-
4) 如果您创建新应用程序 > 添加 android 环境 > 运行方式 - 在 Worklight 开发服务器上运行 > 运行方式 - android 应用程序;有用吗?
-
上述方法你试过了吗?
-
这需要一段时间,因为我试图隔离问题:“应用程序错误”net::ERR_FILE_NOT_FOUND (file:///android_asset/www/skinLoader.html。同样,文件确实实际上存在于指定的位置。我怀疑某些配置的路径或上下文根设置不正确,但我看不到。这是一个自定义应用程序,使用 dojo、sql 适配器和 jsonstore。应用程序失败并显示部署到物理设备时出现相同的消息。但是,我使用的是最新版本的 worklight:v6.2。-parke
-
确保您在应用程序中加载了所有需要的 dojo 组件;我还建议重新开始,然后添加片段以查看何时失败。还要确保如果您没有添加所有 dojo 组件,则启用 dojo 控制台,它将在测试期间提供缺少的组件;阅读 IBM Worklight Knowledge Center 中的 dojo 用户文档以获取更多信息;我怀疑这是导致超时并且应用程序无法运行的原因。
标签: android android-emulator ibm-mobilefirst ddms