[英]Worklight 6.0 - how to create and deploy dojo enable worklight hybrid application for android 2.2 using dojo 1.9 and worklight 6.0
[英]IBM Worklight 6.0 - Unable to run sample hybrid worklight app using dojo toolkit for android environment on avd?
我已經使用worklight 6.0和dojo toolkit 1.9為android environment2.2開發了一個示例混合應用程序。 當我在模擬器上測試這個應用程序時它工作正常。 但是當我在AVD或實際設備上試用它時,它會運行但只顯示空白屏幕。 無法理解如何使其在實際設備上正常工作?
當我嘗試在AVD上運行時,我注意到以下錯誤列表:
07-08 19:51:22.462: I/dalvikvm(664): Could not find method org.apache.cordova.CordovaWebView.setOverScrollMode, referenced from method org.apache.cordova.DroidGap.init
07-08 19:51:22.462: W/dalvikvm(664): VFY: unable to resolve virtual method 12024: Lorg/apache/cordova/CordovaWebView;.setOverScrollMode (I)V
07-08 19:51:22.462: D/dalvikvm(664): VFY: replacing opcode 0x6e at 0x0043
07-08 19:51:22.502: I/CordovaLog(664): Changing log level to DEBUG(3)
07-08 19:51:22.502: I/CordovaLog(664): Found preference for exit-on-suspend=false
07-08 19:51:22.502: D/CordovaLog(664): Found preference for exit-on-suspend=false
07-08 19:51:22.502: D/DroidGap(664): DroidGap.onCreate()
07-08 19:51:22.552: I/dalvikvm(664): Could not find method android.webkit.WebView.<init>, referenced from method org.apache.cordova.CordovaWebView.<init>
07-08 19:51:22.552: W/dalvikvm(664): VFY: unable to resolve direct method 536: Landroid/webkit/WebView;.<init> (Landroid/content/Context;Landroid/util/AttributeSet;IZ)V
07-08 19:51:22.552: D/dalvikvm(664): VFY: replacing opcode 0x70 at 0x0001
07-08 19:51:22.552: D/dalvikvm(664): VFY: dead code 0x0004-0046 in Lorg/apache/cordova/CordovaWebView;.<init> (Landroid/content/Context;Landroid/util/AttributeSet;IZ)V
07-08 19:51:22.852: D/JsMessageQueue(664): Set native->JS mode to 2
07-08 19:51:22.852: I/CordovaWebView(664): Disabled addJavascriptInterface() bridge since Android version is old.
07-08 19:51:22.852: E/dalvikvm(664): Could not find class 'android.webkit.WebResourceResponse', referenced from method org.apache.cordova.CordovaWebViewClient.getWhitelistResponse
07-08 19:51:22.852: W/dalvikvm(664): VFY: unable to resolve new-instance 176 (Landroid/webkit/WebResourceResponse;) in Lorg/apache/cordova/CordovaWebViewClient;
07-08 19:51:22.852: D/dalvikvm(664): VFY: replacing opcode 0x22 at 0x000b
07-08 19:51:22.852: D/dalvikvm(664): VFY: dead code 0x000d-0014 in Lorg/apache/cordova/CordovaWebViewClient;.getWhitelistResponse ()Landroid/webkit/WebResourceResponse;
07-08 19:51:22.872: W/dalvikvm(664): VFY: unable to find class referenced in signature (Landroid/webkit/WebResourceResponse;)
07-08 19:51:22.892: W/dalvikvm(664): VFY: unable to find class referenced in signature (Landroid/webkit/WebResourceResponse;)
07-08 19:51:22.892: W/dalvikvm(664): VFY: unable to find class referenced in signature (Landroid/webkit/WebResourceResponse;)
07-08 19:51:23.012: D/DroidGap(664): DroidGap.init()
07-08 19:51:23.122: I/UICAndroid(664): {LoggingLevel=3, AddCookieDomain=false, PostMessageTimeout=60000, CookiePath=/, CookieParam=, KillSwitchTimeInterval=180, BufferPercent=20, HasToPersistLocalCache=true , MessageTypeHeader=WorklightHit, CookieDomain=, WhiteListParam=id, LibraryVersion=8.8.1.0, MaskIdList=com.tealeaf.sp:id/EditText*,com.tealeaf.sp:id/login.password, PostMessageLevelWiFi=3, UseRandomSample=false, KillSwitchMaxNumberOfTries=3, SensitiveCapitalCaseAlphabet=X, FilterMessageTypes=true, PostMessageTimeIntervals=30, SensitiveSmallCaseAlphabet=x, CompressPostMessage=true, PostMessageMaxBytesSize=20000, SensitiveSymbol=#, PostMessageLevelCellular=3, MessageTypes=4,5,6, PostMessageSocketTimeout=60000, CookieUrl=, UseWhiteList=true, KillSwitchUrl=, KillSwitchEnabled=false, MessageVersion=2.1.0.0, HasMasking=true, TimeIntervalBetweenSnapshots=60, PostMessageUrl=@USE_WORKLIGHT_DEFAULT@, CachedFileMaxBytesSize=512000, BufferLimit=100, AddCookiePath=false, SensitiveNumber=9, CachingLevel=3, ManualPostEnabled=true, HasCustomMask=true, DisplayLogging=true, MaxStringsLength=300, AddMessageTypeHeader=true, RandomSampleParam=, DoPostOnIntervals=false}
07-08 19:51:23.232: D/dalvikvm(664): GC_FOR_MALLOC freed 3250 objects / 238920 bytes in 63ms
07-08 19:51:23.262: I/UICAndroid(664): Screen height:800 Screen width420
07-08 19:51:23.342: D/DroidGap(664): Resuming the App
07-08 19:51:23.402: I/UICAndroid(664): Network changed
07-08 19:51:23.432: D/SoftKeyboardDetect(664): Ignore this event
07-08 19:51:23.502: D/WLDroidGap(664): New installation/upgrade detected, copying resources and saving new checksum
07-08 19:51:23.542: D/SoftKeyboardDetect(664): Ignore this event
07-08 19:51:23.732: I/UICAndroid(664): Did Client State change?: true
07-08 19:51:26.842: D/dalvikvm(664): GC_FOR_MALLOC freed 5447 objects / 429112 bytes in 71ms
07-08 19:51:31.494: D/WLDroidGap(664): Started copying files to local storage...
07-08 19:51:32.402: D/dalvikvm(664): GC_FOR_MALLOC freed 6653 objects / 552224 bytes in 58ms
07-08 19:51:34.072: D/dalvikvm(664): GC_FOR_MALLOC freed 1876 objects / 203720 bytes in 50ms
07-08 19:51:35.341: D/dalvikvm(664): GC_FOR_MALLOC freed 1528 objects / 494368 bytes in 71ms
07-08 19:51:36.441: D/dalvikvm(664): GC_FOR_MALLOC freed 2070 objects / 515744 bytes in 61ms
07-08 19:51:38.511: D/dalvikvm(664): GC_FOR_MALLOC freed 2270 objects / 520176 bytes in 64ms
07-08 19:51:40.661: D/dalvikvm(664): GC_FOR_MALLOC freed 2191 objects / 523952 bytes in 52ms
07-08 19:51:41.061: D/dalvikvm(664): GC_FOR_MALLOC freed 1969 objects / 525120 bytes in 65ms
07-08 19:51:42.782: D/dalvikvm(664): GC_FOR_MALLOC freed 2305 objects / 526720 bytes in 52ms
07-08 19:51:46.472: D/dalvikvm(664): GC_FOR_MALLOC freed 2529 objects / 529368 bytes in 52ms
07-08 19:51:47.993: D/WLDroidGap(664): Finished copying files to local storage...
07-08 19:51:48.012: D/WLDroidGap(664): no need to check web resource integrity
07-08 19:51:48.102: D/CordovaWebView(664): >>> loadUrl(file:///data/data/com.AccordFintech/files/www/skinLoader.html)
07-08 19:51:48.102: D/PluginManager(664): init()
07-08 19:51:48.112: D/CordovaWebView(664): >>> loadUrlNow()
07-08 19:51:48.592: D/DroidGap(664): onMessage(onPageStarted,file:///data/data/com.AccordFintech/files/www/skinLoader.html)
07-08 19:51:48.792: D/dalvikvm(664): GC_FOR_MALLOC freed 2184 objects / 422000 bytes in 81ms
07-08 19:51:49.592: D/Cordova(664): onPageFinished(file:///data/data/com.AccordFintech/files/www/skinLoader.html)
07-08 19:51:49.592: D/Cordova(664): Trying to fire onNativeReady
07-08 19:51:49.592: D/DroidGap(664): onMessage(onNativeReady,null)
07-08 19:51:49.592: D/DroidGap(664): onMessage(onPageFinished,file:///data/data/com.AccordFintech/files/www/skinLoader.html)
07-08 19:51:50.232: D/CordovaLog(664): Falling back on PROMPT mode since _cordovaNative is missing. Expected for Android 3.2 and lower only.
07-08 19:51:50.232: I/Web Console(664): Falling back on PROMPT mode since _cordovaNative is missing. Expected for Android 3.2 and lower only. at file:///data/data/com.AccordFintech/files/www/default/wlclient/js/cordova.js:908
07-08 19:51:50.322: D/CordovaNetworkManager(664): Connection Type: 3g
07-08 19:51:50.322: D/CordovaNetworkManager(664): Connection Type: 3g
07-08 19:51:50.322: D/DroidGap(664): onMessage(networkconnection,3g)
07-08 19:51:50.352: D/DroidGap(664): onMessage(spinner,stop)
07-08 19:51:50.492: D/CordovaWebView(664): >>> loadUrl(file:///data/data/com.AccordFintech/files/www/default/AccordFintech.html)
07-08 19:51:50.492: D/PluginManager(664): init()
07-08 19:51:50.512: D/CordovaWebView(664): >>> loadUrlNow()
07-08 19:51:50.532: D/DroidGap(664): onMessage(onPageStarted,file:///data/data/com.AccordFintech/files/www/default/AccordFintech.html)
07-08 19:51:50.733: D/dalvikvm(664): GC_FOR_MALLOC freed 2859 objects / 241376 bytes in 121ms
07-08 19:51:50.912: D/dalvikvm(664): GC_FOR_MALLOC freed 1560 objects / 135728 bytes in 54ms
07-08 19:51:51.622: D/DroidGap(664): onMessage(spinner,stop)
07-08 19:51:53.622: D/dalvikvm(664): GC_FOR_MALLOC freed 1225 objects / 370792 bytes in 153ms
07-08 19:51:56.991: D/Cordova(664): onPageFinished(file:///data/data/com.AccordFintech/files/www/default/AccordFintech.html)
07-08 19:51:56.991: D/Cordova(664): Trying to fire onNativeReady
07-08 19:51:56.991: D/DroidGap(664): onMessage(onNativeReady,null)
07-08 19:51:56.991: D/DroidGap(664): onMessage(onPageFinished,file:///data/data/com.AccordFintech/files/www/default/AccordFintech.html)
07-08 19:51:57.641: D/CordovaLog(664): Falling back on PROMPT mode since _cordovaNative is missing. Expected for Android 3.2 and lower only.
07-08 19:51:57.641: I/Web Console(664): Falling back on PROMPT mode since _cordovaNative is missing. Expected for Android 3.2 and lower only. at file:///data/data/com.AccordFintech/files/www/default/wlclient/js/cordova.js:908
07-08 19:51:57.702: D/CordovaNetworkManager(664): Connection Type: 3g
07-08 19:51:57.721: D/CordovaNetworkManager(664): Connection Type: 3g
07-08 19:51:57.721: D/DroidGap(664): onMessage(networkconnection,3g)
07-08 19:51:57.741: D/DroidGap(664): onMessage(spinner,stop)
07-08 19:51:57.911: I/dalvikvm(664): Could not find method java.util.Calendar.getDisplayNames, referenced from method org.apache.cordova.Globalization.getDateNames
07-08 19:51:57.911: W/dalvikvm(664): VFY: unable to resolve virtual method 10795: Ljava/util/Calendar;.getDisplayNames (IILjava/util/Locale;)Ljava/util/Map;
07-08 19:51:57.911: D/dalvikvm(664): VFY: replacing opcode 0x74 at 0x009d
07-08 19:51:57.911: I/dalvikvm(664): Could not find method java.util.Calendar.getDisplayNames, referenced from method org.apache.cordova.Globalization.getDateNames
07-08 19:51:57.911: W/dalvikvm(664): VFY: unable to resolve virtual method 10795: Ljava/util/Calendar;.getDisplayNames (IILjava/util/Locale;)Ljava/util/Map;
07-08 19:51:57.911: D/dalvikvm(664): VFY: replacing opcode 0x74 at 0x00d0
07-08 19:51:57.911: I/dalvikvm(664): Could not find method java.util.Calendar.getDisplayNames, referenced from method org.apache.cordova.Globalization.getDateNames
07-08 19:51:57.911: W/dalvikvm(664): VFY: unable to resolve virtual method 10795: Ljava/util/Calendar;.getDisplayNames (IILjava/util/Locale;)Ljava/util/Map;
07-08 19:51:57.922: D/dalvikvm(664): VFY: replacing opcode 0x74 at 0x00e3
07-08 19:51:57.922: I/dalvikvm(664): Could not find method java.util.Calendar.getDisplayNames, referenced from method org.apache.cordova.Globalization.getDateNames
07-08 19:51:57.922: W/dalvikvm(664): VFY: unable to resolve virtual method 10795: Ljava/util/Calendar;.getDisplayNames (IILjava/util/Locale;)Ljava/util/Map;
07-08 19:51:57.922: D/dalvikvm(664): VFY: replacing opcode 0x74 at 0x00f2
07-08 19:51:57.922: D/dalvikvm(664): VFY: dead code 0x00a0-00b8 in Lorg/apache/cordova/Globalization;.getDateNames (Lorg/json/JSONArray;)Lorg/json/JSONObject;
07-08 19:51:57.922: D/dalvikvm(664): VFY: dead code 0x00d3-00d4 in Lorg/apache/cordova/Globalization;.getDateNames (Lorg/json/JSONArray;)Lorg/json/JSONObject;
07-08 19:51:57.922: D/dalvikvm(664): VFY: dead code 0x00e6-00e7 in Lorg/apache/cordova/Globalization;.getDateNames (Lorg/json/JSONArray;)Lorg/json/JSONObject;
07-08 19:51:57.922: D/dalvikvm(664): VFY: dead code 0x00f5-0118 in Lorg/apache/cordova/Globalization;.getDateNames (Lorg/json/JSONArray;)Lorg/json/JSONObject;
07-08 19:51:58.061: D/AccordFintech(664): wlclient init started
07-08 19:51:58.081: D/AccordFintech(664): Read cookies: null
07-08 19:51:58.091: D/AccordFintech(664): CookieMgr read cookies: {}
07-08 19:51:58.261: D/dalvikvm(664): GC_FOR_MALLOC freed 5659 objects / 415552 bytes in 64ms
07-08 19:51:58.541: D/AccordFintech(664): before: app init onSuccess
07-08 19:51:58.621: D/AccordFintech(664): after: app init onSuccess
07-08 19:51:58.621: D/AccordFintech(664): added onPause event handler
07-08 19:51:58.631: D/AccordFintech(664): wlclient init success
07-08 19:52:03.632: D/CordovaLog(664): Error: scriptError
07-08 19:52:03.632: E/Web Console(664): Error: scriptError at file:///data/data/com.AccordFintech/files/www/default/dojo/dojo.js:21
07-08 19:52:03.632: D/CordovaLog(664): Error: scriptError
07-08 19:52:03.642: E/Web Console(664): Error: scriptError at file:///data/data/com.AccordFintech/files/www/default/dojo/dojo.js:21
Generated Accordfintech.html:
<!DOCTYPE HTML><html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<title>AccordFintech</title>
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<meta content="yes" name="apple-mobile-web-app-capable">
<link href="wlclient/css/wlclient.css" rel="stylesheet">
<link href="wlclient/css/wlgap.android.css" rel="stylesheet">
<link href="images/favicon.png" rel="shortcut icon">
<link href="images/apple-touch-icon.png" rel="apple-touch-icon">
<link href="css/AccordFintech.css" rel="stylesheet">
<script>
// Define WL namespace.
var WL = WL ? WL : {};
/**
* WLClient configuration variables.
* Values are injected by the deployer that packs the gadget.
*/
WL.StaticAppProps = {
"APP_DISPLAY_NAME": "AccordFintech",
"APP_SERVICES_URL": "\/apps\/services\/",
"APP_VERSION": "1.0",
"ENVIRONMENT": "android",
"LOGIN_DISPLAY_TYPE": "embedded",
"WORKLIGHT_PLATFORM_VERSION": "6.0.0",
"WORKLIGHT_ROOT_URL": "\/apps\/services\/api\/AccordFintech\/android\/"
};</script>
<script src="wlclient/js/cordova.js"></script>
<script src="common/js/wljq.js"></script>
<script src="common/js/wl_.min.js"></script>
<script src="common/js/sjcl.min.js"></script>
<script src="wlclient/js/analytics/Tealeaf.min.js"></script>
<script src="common/js/stacktrace.min.js"></script>
<script src="common/js/base.js"></script>
<script src="wlclient/js/messages.js"></script>
<script src="common/js/wlcommon.js"></script>
<script src="wlclient/js/diagnosticDialog.js"></script>
<script src="wlclient/js/deviceAuthentication.js"></script>
<script src="wlclient/js/window.js"></script>
<script src="wlclient/js/worklight.js"></script>
<script src="wlclient/js/wlclient.js"></script>
<script src="wlclient/js/wlfragments.js"></script>
<script src="wlclient/js/encryptedcache.js"></script>
<script src="wlclient/js/analytics/analytics.js"></script>
<script src="wlclient/js/checksum.js"></script>
<script src="wlclient/js/deviceSensors/triggers.js"></script>
<script src="wlclient/js/deviceSensors/acquisition.js"></script>
<script src="wlclient/js/deviceSensors/geo.js"></script>
<script src="wlclient/js/deviceSensors/wifi.js"></script>
<script src="wlclient/js/events/eventTransmitter.js"></script>
<script src="wlclient/js/deviceSensors/bind.js"></script>
<script src="wlclient/js/deviceSensors/geoUtilities.js"></script>
<script src="wlclient/js/challengeHandlers/antiXSRFChallengeHandler.js"></script>
<script src="wlclient/js/challengeHandlers/authenticityChallengeHandler.js"></script>
<script src="wlclient/js/challengeHandlers/deviceAuthAutoProvisioningChallengeHandler.js"></script>
<script src="wlclient/js/challengeHandlers/deviceAuthNoProvisioningChallengeHandler.js"></script>
<script src="wlclient/js/challengeHandlers/remoteDisableChallengeHandler.js"></script>
<script src="wlclient/js/deviceSensors/ExtendedGeolocation.js"></script>
<script src="wlclient/js/features_stubs/jsonstore_stub.js"></script>
<script src="wlclient/js/wlgap.android.js"></script>
<script>window.$ = window.jQuery = WLJQ;</script>
<script src="dojox/mobile/deviceTheme.js" type="text/javascript"></script>
<script type="text/javascript">
if (typeof dojoConfig == "undefined") {
var dojoConfig = {};
}
(function(){
var modules = { dojo: {name: "dojo", location: "http://localhost:53514/dojoLib/Acc/AccordFintech/android/dojo"}, dijit: {name: "dijit", location: "http://localhost:53514/dojoLib/Acc/AccordFintech/android/dijit"}, dojox: {name: "dojox", location: "http://localhost:53514/dojoLib/Acc/AccordFintech/android/dojox"}};
if (!dojoConfig.packages) {
dojoConfig.packages = [];
}
else {
for (var i = 0; i < dojoConfig.packages.length; i++) {
delete modules[dojoConfig.packages[i].name];
}
}
if (dojoConfig.packages.push) {
for (var module in modules) {
dojoConfig.packages.push(modules[module]);
}
}
})();
</script><script data-dojo-config="isDebug: false, async: true, parseOnLoad: true, mblHideAddressBar: false" src="dojo/dojo.js" type="text/javascript"></script>
</head>
<body id="content" style="display: none;">
<div data-dojo-props="label:'Accord Fintech'" data-dojo-type="dojox.mobile.Heading"></div>
<div data-dojo-props="selected:true" data-dojo-type="dojox.mobile.ScrollableView" id="view0">
<div data-dojo-type="dojox.mobile.RoundRectList">
<div data-dojo-props="label:'About Us',moveTo:'Aboutusview',transition:'flip',dir:'-1'" data-dojo-type="dojox.mobile.ListItem"></div>
<div data-dojo-props="label:'Database',moveTo:'Databaseview',transition:'flip',dir:'-1'" data-dojo-type="dojox.mobile.ListItem"></div>
<div data-dojo-props="label:'Software',moveTo:'Softwareview',transition:'flip',dir:'-1'" data-dojo-type="dojox.mobile.ListItem"></div>
<div data-dojo-props="label:'Research',moveTo:'Researchview',transition:'flip',dir:'-1'" data-dojo-type="dojox.mobile.ListItem"></div>
<div data-dojo-props="label:'Products',moveTo:'productsview',transition:'flip',dir:'-1'" data-dojo-type="dojox.mobile.ListItem"></div>
<div data-dojo-props="label:'Contact Us',moveTo:'Contactusview',transition:'flip',dir:'-1'" data-dojo-type="dojox.mobile.ListItem"></div>
</div>
<!--application UI goes here-->
</div>
<div data-dojo-type="dojox.mobile.View" id="Aboutusview"></div>
<div data-dojo-type="dojox.mobile.View" id="Softwareview"></div>
<div data-dojo-type="dojox.mobile.View" id="Databaseview"></div>
<div data-dojo-type="dojox.mobile.View" id="Researchview"></div>
<div data-dojo-type="dojox.mobile.View" id="productsview"></div>
<div data-dojo-type="dojox.mobile.View" id="Contactusview"></div>
<script src="js/initOptions.js"></script>
<script src="js/AccordFintech.js"></script>
<script src="js/messages.js"></script>
</body>
</html>
.js文件:
function wlCommonInit(){
require([ "layers/core-web-layer", "layers/mobile-ui-layer" ], dojoInit);
}
function dojoInit() {
require([ "dojo/ready", "dojo/parser", "dojox/mobile", "dojo/dom", "dijit/registry", "dojox/mobile/ScrollableView", "dojox/mobile/View", "dojox/mobile/Heading", "dojox/mobile/RoundRectList", "dojox/mobile/ListItem" ], function(ready) {
ready(function() {
});
});
}
除了包含*_ROOT.js
文件之外,您可能還需要從應用程序中刪除開發配置。 為此,請打開控制台視圖(“ 窗口” >“ 顯示視圖” >“ 其他...” >“ 控制台” )。 在Console視圖中,單擊Open Console按鈕,然后從列表中選擇Dojo Library Requests 。 在Dojo Library Requests控制台中,單擊View菜單 (工具欄中的三角形),然后取消選中Provide Library Resources 。 在此之后,構建應用程序環境並將其部署到您的模擬器或設備。
讓我們回顧一下吧。 在nsand關於控制台視圖的帖子中,他試圖確定的是你的應用程序是否正在使用6.0中引入的新Dojo庫服務器。 簡而言之,對於6.0,您的應用程序僅在其中包含Dojo Mobile Layers。 它需要的任何其他資源,例如翻譯,dijit小部件,都是從服務器提供的。 您可以在6.0信息中心中閱讀: http : //pic.dhe.ibm.com/infocenter/wrklight/v6r0m0/index.jsp?topic =%2Fcom.ibm.rad.worklight.doc%2Ftopics%2Fcdojolibprjsetupwl。 HTML
如果按照nsand的步驟取消選中“提供庫資源”,則會關閉應用程序對Dojo庫/服務器的訪問權限。 其所有Dojo需求必須由Dojo Mobile層處理,或者您必須將所需資源復制到項目中。
所以第1步:驗證您的應用程序是否在移動瀏覽器模擬器中工作,並選中了提供庫資源。 如果控制台日志顯示從服務器提供的資源,則必須先將這些資源復制到應用程序,然后再部署到AVD或設備
第2步:在您認為項目中包含所有Dojo /資源后,取消選中提供庫資源並在MBS中再次測試它。 如果它在MBS中失敗,則庫/服務器中的應用程序中缺少某些內容。 您可以查看提供庫資源並重新測試,看它是否顯示了它是什么。 並非所有資源都顯示,例如,如果缺少CSS文件。
如果這有助於您找到問題,請告訴我們。 如果取消選中提供庫資源並且它在MBS中正常工作但在設備上失敗,那么我們需要查看其他地方。
(注意:有一個缺陷會阻止您使用帶有AVD的Dojo庫/服務器或您的設備。這將很快修復。盡管如此,使用Dojo庫/服務器是一個開發時間概念。在您轉移到生產,您的應用程序需要訪問所有必要的資源,而不是從Studio中的Dojo Library / Server提供服務。
從Eclipse中的DojoLib項目中,復制文件:
DojoLib \\道場\\道場\\ NLS \\核心網絡layer_ROOT.js
DojoLib \\道場\\道場\\ NLS \\移動-UI-layer_ROOT.js
將文件粘貼到www\\dojo\\nls
下的Worklight項目中。
再次嘗試運行該項目。
可能還需要進行其他更改,但請先查看以上內容是否有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.