成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Cordova應(yīng)用的JavaScript代碼和自定義插件代碼的調(diào)試

LiangJ / 1805人閱讀

摘要:首先打開安卓手機(jī)的調(diào)試模式,然后用數(shù)據(jù)線連接到電腦上。打開開發(fā)者工具,這里我就能看到我正在運(yùn)行應(yīng)用的三星手機(jī),,狀態(tài)處于已連接狀態(tài)。

我之前寫過三篇Cordova相關(guān)的技術(shù)文章。當(dāng)我們使用Cordova將自己開發(fā)的前端應(yīng)用打包安裝到手機(jī)上后,可能會(huì)遇到需要調(diào)試Cordova應(yīng)用的時(shí)候。

本文就介紹Cordova應(yīng)用的調(diào)試步驟。

如果大家讀過之前我寫的文章,就知道Cordova應(yīng)用在移動(dòng)平臺(tái)上運(yùn)行時(shí),實(shí)際上Cordova包內(nèi)的前端應(yīng)用的HTML/JavaScript代碼仍然運(yùn)行在一個(gè)嵌入的Webview里。同時(shí)Cordova也允許開發(fā)人員開發(fā)一些插件,這些插件能調(diào)用基于特定移動(dòng)平臺(tái)的原生API,通過Cordova框架直接暴露給前端JavaScript消費(fèi)。因此本文包含兩部分的介紹:

如何調(diào)試Cordova應(yīng)用里的JavaScript代碼 如何調(diào)試Cordova自定義插件的代碼

先說Cordova前端代碼如何調(diào)試。這里我以Android安卓平臺(tái)為例。首先打開安卓手機(jī)的調(diào)試模式,然后用數(shù)據(jù)線連接到電腦上。打開Chrome開發(fā)者工具,Settings->More tools->Remote devices:

這里我就能看到我正在運(yùn)行Cordova應(yīng)用的三星手機(jī),SM A7100,狀態(tài)處于已連接狀態(tài)(Connected)。

2. 在我的三星手機(jī)上啟動(dòng)Cordova應(yīng)用,然后在Chrome開發(fā)者工具里能看到SM-A7100對應(yīng)的應(yīng)用列表里出現(xiàn)了一個(gè)"WebView in io.cordova.hellocordova....", 這條記錄就是我在三星手機(jī)上運(yùn)行的Cordova應(yīng)用,前面已經(jīng)說了,該應(yīng)用實(shí)際上是運(yùn)行在一個(gè)嵌入的Webview里的。點(diǎn)擊”Inspect"按鈕:

3. 切換到Sources標(biāo)簽頁,這里能看到目前為止加載的html和Javascript源代碼。剩下的時(shí)候和平時(shí)調(diào)試運(yùn)行在PC瀏覽器里的Web應(yīng)用沒有任何區(qū)別。注意開發(fā)者工具的標(biāo)題"file:///android_asset/www/index.html提示了當(dāng)前調(diào)試的index.html所在的位置。

例如下圖第38行,實(shí)際就是從Cordova JavaScript代碼執(zhí)行到我自己開發(fā)的基于Android平臺(tái)的Cordova插件代碼的入口位置。

下圖第967行是JavaScript代碼到Java代碼的分界嶺。具體JavaScript代碼是如何執(zhí)行到Java棧中去的,請看我的另一篇文章?Cordova插件中JavaScript代碼與Java的交互細(xì)節(jié)介紹。

Cordova自定義插件的調(diào)試步驟

按照這篇文章?使用JavaScript調(diào)用手機(jī)平臺(tái)上的原生API?介紹的步驟,用Java開發(fā)了一個(gè)基于Android平臺(tái)的Cordova插件。

現(xiàn)在我想在我的Windows電腦上對這個(gè)插件進(jìn)行調(diào)試。

假設(shè)我的Cordova項(xiàng)目名稱為JerryUI5HelloWorld,在這個(gè)文件夾下有一個(gè)子文件夾platforms,找到里面的android文件夾:

用Android Studio打開這個(gè)android子文件夾。找到你的插件實(shí)現(xiàn)文件,在Android Studio里設(shè)置好斷點(diǎn)。

在Android studio里用調(diào)試模式啟動(dòng)項(xiàng)目:

在手機(jī)上再次執(zhí)行Cordova應(yīng)用,JavaScript代碼里調(diào)用Cordova插件的入口如下。插件名稱Adder,對應(yīng)Java里的同名類,插件方法performAdd,會(huì)在Java類Adder里得到處理:

Java插件的斷點(diǎn)成功觸發(fā)了:

從Android Studio里的調(diào)用棧能進(jìn)一步研究我們開發(fā)的Cordova插件是如何通過Cordova框架從JavaScript端被調(diào)用的:

1. SystemExposedJsApi.exec

2. CordovaBridge.jsExec

3. PluginManager.exec

4. CordovaPlugin.exec

5. 我們的自定義插件被調(diào)用

這個(gè)調(diào)用棧也和我這篇文章?Cordova插件中JavaScript代碼與Java的交互細(xì)節(jié)介紹?里講解的一致。

要獲取更多Jerry的原創(chuàng)技術(shù)文章,請關(guān)注公眾號(hào)"汪子熙"或者掃描下面二維碼:

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/98591.html

相關(guān)文章

  • Capacitor 新一代混合應(yīng)用“神器” 會(huì)代替Cordova嗎??

    摘要:介紹暢想是由團(tuán)隊(duì)最新開發(fā)維護(hù)的一個(gè)跨平臺(tái)的應(yīng)用程序容器,可以輕松構(gòu)建在,,和上本機(jī)運(yùn)行的應(yīng)用程序。后者旨在替代或者說是進(jìn)化。希望看到在未來發(fā)展,以及正式發(fā)布。我認(rèn)為它有可能大大改善混合應(yīng)用開發(fā)體驗(yàn)。 1.介紹or暢想 Capacitor是由ionic團(tuán)隊(duì)最新開發(fā)維護(hù)的一個(gè)跨平臺(tái)的應(yīng)用程序容器,可以輕松構(gòu)建在iOS,Android,Electron和Web上本機(jī)運(yùn)行的Web應(yīng)用程序。我們...

    番茄西紅柿 評(píng)論0 收藏0
  • SAP Fiori應(yīng)用三種部署方式

    摘要:目前成都所有基于云的產(chǎn)品開發(fā)團(tuán)隊(duì)無一例外地采用了這種方式。值得一提的是雖然其后臺(tái)仍然基于但是的應(yīng)用的部署方式?jīng)]有采用本文介紹的方式一,而是本章節(jié)正在介紹的方式二。 showImg(https://segmentfault.com/img/remote/1460000013266451); 封面圖片來自Google搜索,關(guān)鍵字: Fiori Deployment 方式1 On premi...

    henry14 評(píng)論0 收藏0
  • SAP Fiori應(yīng)用三種部署方式

    摘要:目前成都所有基于云的產(chǎn)品開發(fā)團(tuán)隊(duì)無一例外地采用了這種方式。值得一提的是雖然其后臺(tái)仍然基于但是的應(yīng)用的部署方式?jīng)]有采用本文介紹的方式一,而是本章節(jié)正在介紹的方式二。 showImg(https://segmentfault.com/img/remote/1460000013266451); 封面圖片來自Google搜索,關(guān)鍵字: Fiori Deployment 方式1 On premi...

    cyrils 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<