【发布时间】:2016-05-18 03:32:31
【问题描述】:
我是 Worklight 的新手,我一直在尝试运行此示例:Using IBM Worklight HTTP Adapters with REST/JSON Services。
当我在 android 模拟器上运行应用程序并单击按钮时,出现以下错误:
alert("mobGmapLatLngFailure");在应用程序中
在日志中 错误:02-09 04:05:21.924:D/NONE(1435):客户端注册失败,错误:{"responseHeaders":{},"status":500,"responseText":"","invocationContext":null 02-09 04:05:22.074: E/NONE(1435): [/apps/services/api/AdapterApp/android/query] 失败。状态:500,响应:未定义 -
代码如下:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>AdaptersApp</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0">
<!--
<link rel="shortcut icon" href="images/favicon.png">
<link rel="apple-touch-icon" href="images/apple-touch-icon.png">
-->
<link rel="stylesheet" href="css/main.css">
<script>window.$ = window.jQuery = WLJQ;</script>
<script>
function mobGmapLatLng(pAddress) {
var invocationData = {
adapter : 'myRESTAdapter',
procedure : 'getGmapLatLng',
parameters : [ pAddress ]
};
WL.Client.invokeProcedure(invocationData,{
onSuccess : mobGmapLatLngSuccess,
onFailure : mobGmapLatLngFailure,
});
}
function mobGmapLatLngSuccess(result) {
var httpStatusCode = result.status;
if (200 == httpStatusCode) {
var invocationResult = result.invocationResult;
var isSuccessful = invocationResult.isSuccessful;
if (true == isSuccessful) {
var lat = invocationResult.lat;
var lng = invocationResult.lng;
alert("Success: lat=" + lat + " lng=" + lng);
}
else {
alert("Error. isSuccessful=" + isSuccessful);
}
}
else {
alert("Error. httpStatusCode=" + httpStatusCode);
}
}
function mobGmapLatLngFailure(result){
alert("mobGmapLatLngFailure");
}
</script>
</head>
<body style="display: none;">
<!--application UI goes here-->
Hello MobileFirst
Hello Worklight with getGmapLatLng
<p>
<button onclick="mobGmapLatLng( '11501 Burnet Rd, Austin, TX, USA' )">Austin, TX, USA</button>
<p>
<button onclick="mobGmapLatLng( '4250 South Miami Boulevard, Durham, NC, USA' )">Durham, NC, USA</button>
<p>
<button onclick="mobGmapLatLng( '1681 Route des Dolines, 06560 Valbonne, France' )">Valbonne, France</button>
<p>
<button onclick="mobGmapLatLng( 'Shefayim 60990, Israel' )">Shefayim, Israel</button>
<p>
<button onclick="mobGmapLatLng( '399 Ke Yuan Lu, Shanghai, China' )">Shanghai, China</button>
<script src="js/initOptions.js"></script>
<script src="js/main.js"></script>
<script src="js/messages.js"></script>
</body>
myRESTAdapter-impl.js
function getGmapLatLng(pAddress) {
var input = {
method : 'get',
returnedContentType : 'json',
path : 'maps/api/geocode/json',
parameters : {
'address' : pAddress,
'sensor' : 'false' // hard-coded
}
};
// return WL.Server.invokeHttp(input);
var response = WL.Server.invokeHttp(input);
var type = typeof response;
if ("object" == type) {
if (true == response["isSuccessful"]) {
// Drill down into the response object.
var results = response["results"];
var result = results[0];
var geometry = result["geometry"];
var location = geometry["location"];
// Return JSON object with lat and lng.
return location;
}
else {
// Returning null. Web request was not successful.
return null;
}
}
else {
// Returning null. Response is not an object.
return null;
}
}
myRESTAdapter.xml
<domain>maps.googleapis.com</domain>
<procedure name="getGmapLatLng"/>
Logcat
02-18 03:28:44.460: D/dalvikvm(925): Not late-enabling CheckJNI (already on)
02-18 03:28:45.750: I/dalvikvm(925): 找不到方法 android.content.Context.getNoBackupFilesDir,引用自方法 com.worklight.nativeandroid.common.WLUtils.getNoBackupFilesDir 02-18 03:28:45.750: W/dalvikvm(925): VFY: 无法解析虚拟方法 147: Landroid/content/Context;.getNoBackupFilesDir ()Ljava/io/File; 02-18 03:28:45.750: D/dalvikvm(925): VFY: 在 0x000b 处替换操作码 0x6e 02-18 03:28:47.130: W/WLClient(925): WLClient.java:225 中的 WLClient.createInstance :: 您应该传递一个可从 Activity 类分配的上下文。 WLClient 实例可用于启动活动。 02-18 03:28:47.460: D/dalvikvm(925): GC_FOR_ALLOC 释放 311K,12% 释放 2950K/3344K,暂停 113ms,总共 127ms 02-18 03:28:49.080: D/wl(925): WL。在 WL.java:60 :: WL 构造函数中 02-18 03:28:49.120: D/wl.splashscreen(925): WLSplashScreen.show in WLSplashScreen.java:64 :: 显示启动画面 02-18 03:28:49.180: D/dalvikvm(925): GC_FOR_ALLOC 释放 278K, 13% 释放 2969K/3404K, 暂停 27ms, 共 28ms 02-18 03:28:49.180: I/dalvikvm-heap(925): 将堆(碎片情况)增加到 3.522MB,分配 576016 字节 02-18 03:28:49.230: D/dalvikvm(925): GC_FOR_ALLOC freed JS 模式设置为 OnlineEventsBridgeMode 02-18 03:28:59.250: D/dalvikvm(925): GC_FOR_ALLOC 释放 411K,11% 释放 4372K/4864K,暂停 65ms,共 67ms 02-18 03:29:01.030: V/StatusBar(925): StatusBar: 初始化 02-18 03:29:01.030:V/StatusBar(925):执行动作:_ready 02-18 03:29:01.040:W/CordovaPlugin(925):尝试为 ID 发送第二个回调:StatusBar1774144398 02-18 03:29:01.040:W/CordovaPlugin(925):结果是:“无效操作” 02-18 03:29:01.550:D/FileUtils(925):无法识别的额外文件系统标识符:文件外部 02-18 03:29:01.550:D/FileUtils(925):无法识别的额外文件系统标识符:sdcard 02-18 03:29:01.560:D/FileUtils(925):无法识别的额外文件系统标识符:缓存外部 02-18 03:29:01.610:D/CordovaNetworkManager(925):连接类型:3g 02-18 03:29:01.610:D/CordovaNetworkManager(925):连接额外信息:epc.tmobile.com 02-18 03:29:01.630:D/CordovaNetworkManager(925):连接类型:3g 02-18 03:29:01.630:D/CordovaNetworkManager(925):连接额外信息:epc.tmobile.com 02-18 03:29:01.740: I/chromium(925): [INFO:CONSOLE(309)] “成功 callbackId 错误:App1774144399:错误:未知事件动作未定义”,来源:file:///android_asset/www /default/worklight/cordova.js (309) 02-18 03:29:01.780: I/chromium(925): [INFO:CONSOLE(311)]“未捕获的错误:未定义的未知事件操作”,来源:file:///android_asset/www/default/worklight/cordova .js (311) 02-18 03:29:01.930:W/PluginManager(925):线程警告:对 WLApp.writeUserPref 的 exec() 调用阻塞了主线程 26 毫秒。插件应该使用 CordovaInterface.getThreadPool()。 02-18 03:29:01.960:W/PluginManager(925):线程警告:对 WLApp.writeUserPref 的 exec() 调用阻塞了主线程 18 毫秒。插件应该使用 CordovaInterface.getThreadPool()。 02-18 03:29:02.020: D/JsMessageQueue(925): 将 native->JS 模式设置为 null 02-18 03:29:02.620: D/JsMessageQueue(925): 将 native->JS 模式设置为 OnlineEventsBridgeMode 02-18 03:29:06.660: V/StatusBar(925): 执行动作: _ready 02-18 03:29:06.660:W/CordovaPlugin(925):尝试为 ID 发送第二个回调:StatusBar599974231 02-18 03:29:06.660:W/CordovaPlugin(925):结果是:“无效操作” 02-18 03:29:06.750:D/CordovaNetworkManager(925):连接类型:3g 02-18 03:29:06.750:D/CordovaNetworkManager(925):连接额外信息:epc.tmobile.com 02-18 03:29:06.780: I/chromium(925): [INFO:CONSOLE(309)] “成功 callbackId 错误:App599974232:错误:未知事件动作未定义”,来源:file:///android_asset/www /default/worklight/cordova.js (309) 02-18 03:29:06.860: I/chromium(925): [INFO:CONSOLE(311)]“未捕获的错误:未定义的未知事件操作”,来源:file:///android_asset/www/default/worklight/cordova .js (311) 02-18 03:29:07.430: E/NONE(925): Uncaught Exception: Uncaught Error: Undefined event action undefined at (compiled_code):311 02-18 03:29:07.450: D/NONE(925): ondeviceready 事件调度 02-18 03:29:07.570:W/PluginManager(925):线程警告:对 Globalization.getLocaleName 的 exec() 调用阻塞了主线程 154 毫秒。插件应该使用 CordovaInterface.getThreadPool()。 02-18 03:29:07.690: D/NONE(925): wlclient init 开始 02-18 03:29:07.750: D/NONE(925): 读取 cookie: null 02-18 03:29:07.890: D/NONE(925): CookieMgr 读取 cookie: {} 02-18 03:29:08.010:W/NONE(925):请注意,如果您的应用程序面向 Android 3.0(API 级别 11)或更高版本,WL.OptionsMenu 可能无效,具体取决于设备。 02-18 03:29:08.100: D/dalvikvm(925): GC_FOR_ALLOC 释放 531K,13% 释放 4376K/4984K,暂停 32ms,总共 33ms 02-18 03:29:08.110: D/NONE(925): addDeviceIDHeader deviceIDSuccessCallback 02-18 03:29:08.160: D/com.worklight.androidgap.plugin.WLNativeXHRPlugin(925): WLNativeXHRPlugin.execute 在 WLNativeXHRPlugin.java:52:: 执行 02-18 03:29:08.180: D/com.worklight.androidgap.plugin.WLNativeXHRPlugin(925): WLNativeXHRPlugin.doAddGlobalHeader 在 WLNativeXHRPlugin.java:100 :: doAddGlobalHeader 02-18 03:29:08.240: D/NONE(925): connectOnStartup finalizeInit 02-18 03:29:08.330: D/NONE(925): 之前: initOptions.onSuccess 02-18 03:29:08.460: D/wl.splashscreen(925): WLSplashScreen.hide 在 WLSplashScreen.java:71:: 隐藏启动画面 02-18 03:29:08.480: I/dalvikvm(925): 找不到方法 com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable,引用自方法 com.worklight.wlclient.push.common.GCMClientFactory.useGooglePlayServices 02-18 03:29:08.540: W/dalvikvm(925): VFY: 无法解析静态方法 651: Lcom/google/android/gms/common/GooglePlayServicesUtil;.isGooglePlayServicesAvailable (Landroid/content/Context;)I 02-18 03:29:08.540: D/dalvikvm(925): VFY: 在 0x0006 处替换操作码 0x71 02-18 03:29:08.600: D/GCMClientFactory(925): GCMClientFactory.useGooglePlayServices in GCMClientFactory.java:42 :: Google Play Services 未使用,因为未找到播放服务库。所以使用默认的 GCM 助手实现。 02-18 03:29:08.610: W/PluginManager(925): 线程警告: exec() 调用 Push.notifyInitComplete 阻塞了主线程 17 毫秒。插件应该使用 CordovaInterface.getThreadPool()。 02-18 03:29:08.690: D/GCMClientFactory(925): GCMClientFactory.getInstance in GCMClientFactory.java:28 :: 使用 GCMHelperClient 02-18 03:29:08.760:D/NONE(925):之后:initOptions.onSuccess 02-18 03:29:08.770: D/NONE(925): 添加 onPause 和 onResume 事件处理程序 02-18 03:29:08.790: D/NONE(925): wlclient 初始化成功 02-17 03:32:33.982:W/PluginManager(925):线程警告:对 LoggerPlugin.log 的 exec() 调用阻塞了主线程 85 毫秒。插件应该使用 CordovaInterface.getThreadPool()。 02-17 03:32:34.072:I/Choreographer(925):跳过 37 帧!应用程序可能在其主线程上做了太多工作。 02-17 03:32:34.362:D/NONE(925):建立SSLClientAuth 02-17 03:32:34.382:W/PluginManager(925):线程警告:对 UserAuth.init 的 exec() 调用阻塞了主线程 28 毫秒。插件应该使用 CordovaInterface.getThreadPool()。 02-17 03:32:34.462:I/Choreographer(925):跳过 34 帧!应用程序可能在其主线程上做了太多工作。 02-17 03:32:34.762:I/Choreographer(925):跳过 31 帧!应用程序可能在其主线程上做了太多工作。 02-17 03:32:34.782:W/PluginManager(925):线程警告:对 UserAuth.isCertificateExists 的 exec() 调用阻塞了主线程 45 毫秒。插件应该使用 CordovaInterface.getThreadPool()。 02-17 03:32:34.962: D/wl.userAuthManager(925): WLUserAuthManager.doesValidCertificateExist 在 WLUserAuthManager.java:129::doesValidCertificateExists = false 02-17 03:32:35.022:W/PluginManager(925):线程警告:对 LoggerPlugin.log 的 exec() 调用阻塞了主线程 52 毫秒。插件应该使用 CordovaInterface.getThreadPool()。 02-17 03:32:35.222: D/dalvikvm(925): GC_FOR_ALLOC 释放 511K,12% 释放 4397K/4984K,暂停 99ms,总共 111ms 02-17 03:32:35.242:D/NONE(925):建立SSLClientAuth isCertificateExists:假 02-17 03:32:35.422: D/NONE(925): 请求 [/apps/services/api/AdapterApp/android/query] 02-17 03:32:35.562: D/WL_DIRECT_UPDATE_MANAGER(925): skinLoaderChecksum 不存在。 02-17 03:32:35.592: D/NONE(925): 应用程序详细信息标题: {"applicationDetails":{"platformVersion":"7.1.0.0","nativeVersion":"3641188782","skinName":"default ","skinChecksum":1364593095}} 02-17 03:32:35.732:W/PluginManager(925):线程警告:对 WLAuthorizationManagerPlugin.getClientInstanceIdHeader 的 exec() 调用阻塞了主线程 99 毫秒。插件应该使用 CordovaInterface.getThreadPool()。 02-17 03:32:36.362: W/PluginManager(925): 线程警告: exec() 调用 WLAuthorizationManagerPlugin.getWlSignedClientId 阻塞了主线程 567 毫秒。插件应该使用 CordovaInterface.getThreadPool()。 02-17 03:32:36.502: D/WLNativeXHR(925): 构建 02-17 03:32:36.652: D/WLNativeXHR(925): 打开方法 POST url /apps/services/api/AdapterApp/android/query 02-17 03:32:36.732: D/WLNativeXHR(925): setRequestHeader name X-Requested-With value XMLHttpRequest 02-17 03:32:36.782: D/WLNativeXHR(925): setRequestHeader name 接受值 text/javascript, text/html, application/xml, text/xml, / 02-17 03:32:36.792: D/WLNativeXHR(925): setRequestHeader name Accept-Language value en-US 02-17 03:32:36.802:W/PluginManager(925):线程警告:对 LoggerPlugin.log 的 exec() 调用阻塞了主线程 21 毫秒。插件应该使用 CordovaInterface.getThreadPool()。 02-17 03:32:36.842: D/WLNativeXHR(925): setRequestHeader name Content-type value application/x-www-form-urlencoded;字符集=UTF-8 02-17 03:32:36.872:W/PluginManager(925):线程警告:对 LoggerPlugin.log 的 exec() 调用阻塞了主线程 41 毫秒。插件应该使用 CordovaInterface.getThreadPool()。 02-17 03:32:36.952: D/WLNativeXHR(925): setRequestHeader 名称 x-wl-app-version 值 1.0 02-17 03:32:37.032: D/WLNativeXHR(925): setRequestHeader name x-wl-app-details value {"applicationDetails":{"platformVersion":"7.1.0.0","nativeVersion":"3641188782", "skinName":"default","skinChecksum":1364593095}} 02-17 03:32:37.102:W/PluginManager(925):线程警告:对 LoggerPlugin.log 的 exec() 调用阻塞了主线程 23 毫秒。插件应该使用 CordovaInterface.getThreadPool()。 02-17 03:32:37.202: D/dalvikvm(925): GC_FOR_ALLOC 释放 1083K,24% 释放 3855K/5016K,暂停 50ms,总共 52ms 02-17 03:32:37.242: D/WLNativeXHR(925): setRequestHeader 名称 x-wl-clientlog-deviceId 值 9a6a2a818ae5015f 02-17 03:32:37.302:W/PluginManager(925):线程警告:对 LoggerPlugin.log 的 exec() 调用阻塞了主线程 21 毫秒。插件应该使用 CordovaInterface.getThreadPool()。 02-17 03:32:37.362: D/WLNativeXHR(925): setRequestHeader 名称 x-wl-clientlog-appname 值 AdapterApp 02-17 03:32:37.412: D/WLNativeXHR(925): setRequestHeader 名称 x-wl-clientlog-appversion 值 1.0 02-17 03:32:37.462: D/WLNativeXHR(925): setRequestHeader 名称 x-wl-clientlog-osversion 值 4.4.2 02-17 03:32:37.492:W/PluginManager(925):线程警告:对 WLNativeXHRPlugin.send 的 exec() 调用阻塞了主线程 39 毫秒。插件应该使用 CordovaInterface.getThreadPool()。 02-17 03:32:37.562: D/WLNativeXHR(925): setRequestHeader 名称 x-wl-clientlog-env 值 android 02-17 03:32:37.592: D/WLNativeXHR(925): setRequestHeader name x-wl-clientlog-model value sdk 02-17 03:32:37.682: D/WLNativeXHR(925): setRequestHeader 名称 X-WL-ClientId 值 f225ccfd602d6dc7c10abf19b0448000dab6f754 02-17 03:32:37.692: D/WLNativeXHR(925): setRequestHeader 名称 X-WL-Session 值 ed65ba9a-704d-4a4e-99db-6dbdc7465a8e 3月2日至一十七日:32:37.732:d / WLNativeXHR(925):setRequestHeader名X-WL-S-客户端Id值eyJqcGsiOnsiYWxnIjoiUlNBIiwiZXhwIjoiQVFBQiIsIm1vZCI6IkFLaG82TEZreWdsT2FSVldzRTNCVThFZGFCb2t1YjVUN2F1M085OW1UWV9LV3VxckZnelAzc1l2QkZJUTVjaXdpZGNvcEsxX1g2NlJySDhid243VXhsYz0ifSwiYWxnIjoiUlMyNTYifQ == eyJjbGllbnRJZCI6ImYyMjVjY2ZkNjAyZDZkYzdjMTBhYmYxOWIwNDQ4MDAwZGFiNmY3NTQifQ == Kk9M6U0zsaIsbG8KY52TSzQOngL5o8I8oqN49U-QZc4bvkEsSkPENRHHVbPztU8QmGlHJVDo8xbtzEIQZ0a5lw == 02-17 03:32:37.742: D/WLNativeXHR(925): 发送 02-17 03:32:37.782: D/com.worklight.androidgap.plugin.WLNativeXHRPlugin(925): WLNativeXHRPlugin.execute 在 WLNativeXHRPlugin.java:52:: 执行 02-17 03:32:37.832: D/com.worklight.androidgap.plugin.WLNativeXHRPlugin(925): WLNativeXHRPlugin.doSend 在 WLNativeXHRPlugin.java:72 :: doSend 02-17 03:32:37.912: D/HttpPostRequestSender(925): WLHybridRequestSender.run in WLHybridRequestSender.java:42 :: 发送请求http://Masterkevin-PC:10080/AdapterProject/apps/services/api/AdapterApp/android/query 02-17 03:32:38.362: D/dalvikvm(925): GC_FOR_ALLOC 释放 499K,23% 释放 3868K/5016K,暂停 39ms,总共 41ms 02-17 03:32:38.412: E/com.worklight.androidgap.plugin.WLNativeXHRPlugin(925): WLNativeXHRPlugin$NativeXHRPostListener.onException in WLNativeXHRPlugin.java:177 :: onException 02-17 03:32:38.462: D/com.worklight.androidgap.plugin.WLNativeXHRPlugin(925): WLNativeXHRPlugin$NativeXHRPostListener.buildResponseJSON 在 WLNativeXHRPlugin.java:199 :: buildResultJSON 02-17 03:32:38.492: D/WLNativeXHR(925): 回调 {"headers":{},"responseText":"","statusText":"出现意外的 errorCode。请重试。","wlFailureStatus" :“UNEXPECTED_ERROR”,“状态”:0} 02-17 03:32:38.572: E/NONE(925): [/apps/services/api/AdapterApp/android/query] 主机没有响应。尝试通过 android 模拟器浏览器手动访问 URL 以验证连接性。 02-17 03:32:38.982:I/Choreographer(925):跳过 36 帧!应用程序可能在其主线程上做了太多工作。 02-17 03:33:17.552: D/dalvikvm(925): GC_FOR_ALLOC 释放 212K, 17% 释放 4167K/5016K, 暂停 71ms, 总共 73ms 02-17 03:33:17.712: D/WLClient(925): WLClient$ActivityListener.onActivityPaused in WLClient.java:1458 :: on activity paused com.AdapterApp.AdapterApp 。活动计数 = 0 02-17 03:33:18.582:I/Choreographer(925):跳过 128 帧!应用程序可能在其主线程上做了太多工作。 02-17 03:33:18.632:W/PluginManager(925):线程警告:对 LoggerPlugin.log 的 exec() 调用阻塞了主线程 227 毫秒。插件应该使用 CordovaInterface.getThreadPool()。 02-17 03:33:18.672: W/IInputConnectionWrapper(925): showStatusIcon on inactive InputConnection 02-17 03:33:18.712: D/WLClient(925): WLClient$ActivityListener.onActivityStopped 在 WLClient.java:1482 :: 活动停止 com.AdapterApp.AdapterApp 02-17 03:33:18.722: D/WLClient(925): WLClient$ActivityListener.onActivityDestroyed 在 WLClient.java:1450:: 上活动销毁 com.AdapterApp.AdapterApp 02-17 03:33:18.742: I/chromium(925): [INFO:CONSOLE(1)] “异常从本机触发销毁事件”,来源:file:///android_asset/www/default/index.html( 1) 02-17 03:33:18.832: D/wl.splashscreen(925): WLSplashScreen.hide in WLSplashScreen.java:71 :: 隐藏启动画面 02-17 03:33:18.872: W/GCMHelperClient(925): GCMHelperClient.unregisterReceivers in GCMHelperClient.java:139 :: unregister:Receiver not registered: null 02-17 03:33:18.932: W/GCMHelperClient(925): GCMHelperClient.unregisterReceivers 在 GCMHelperClient.java:145 :: unregister: 接收者未注册: null 02-17 03:33:18.962: W/GCMHelperClient(925): GCMHelperClient.unregisterReceivers 在 GCMHelperClient.java:151 :: unregister: 接收器未注册:null 02-17 03:33:18.982: D/GCMHelperUtil(925): GCMHelperUtil.getRegistrationId 在 GCMHelperUtil.java:75 :: 未找到注册 02-17 03:33:19.002:D/push(925):Push.java:229 中的 Push.unregisterReceivers::unregisterReceivers:Receiver 未注册:null 02-17 03:33:19.062: D/NONE(925): 刷新调用
【问题讨论】:
-
您是否尝试过直接从 Eclipse(在您的开发环境中)调用此过程?如果是,返回什么?您发布的信息没有任何关于失败的确切信息,但我可以说我能够像适配器应该做的那样手动查询地理编码服务,并且它有效,所以我们可以合理确信 API 没有改变。
-
当直接从 Eclipse(在开发环境中)调用此过程时,响应在浏览器中返回并且它成功运行。我收到以下错误:02-09 00:30:58.672: E/NONE(1155): Uncaught Exception: Uncaught Error: Undefined event action undefined at (compiled_code):311 并且应用程序没有在模拟器上运行。跨度>
-
我认为这是错误:02-09 04:05:21.924: D/NONE(1435): Client registration failed with error: {"responseHeaders":{},"status":500 ,"responseText":"","invocationContext":null} 02-09 04:05:22.074: E/NONE(1435): [/apps/services/api/AdapterApp/android/query] 失败。状态:500,响应:未定义
-
我找到了解决方案。我们需要更改主机名,然后它可以在 android 模拟器上运行。但是,当部署要在真正的 android 设备上运行的应用程序时。我得到了第一个错误,因为当我更改主机名时,我确实将它设置为我电脑的 ip。有人可以告诉我该怎么做吗?谢谢
-
我假设您更改的主机名是 worklight.properties 中的 publicWorkLightHostname 值?当您在真实设备上运行应用程序时,该设备是否连接到您的 PC(运行开发服务器的位置)?它是在同一个网络上,还是至少在一个可以访问您 PC 的 IP 地址的网络上?如果是这样,防火墙规则是否会阻止来自您设备的流量到达开发服务器?
标签: android-emulator ibm-mobilefirst worklight-adapters mobilefirst-adapters