2017-03-12 136 views
0

我有以下設置:從Visual Studio 2017年(在設備通過USB連接)從本地主機 調試科爾多瓦應用

  • 科爾多瓦應用程序加載的應用程序js文件

    • 運行科爾多瓦的應用程序(的WebPack dev服務器)

    這個功能在模擬器上非常好(除了我必須在每次更改之後重新啓動模擬器的事實),但我無法使它在真實設備上運行。有兩個問題:

    1. 似乎在科爾多瓦的所有網址都搞砸了,當我使用<base href="/"/>(我的角度2需要申請)。這可以通過使用直接文件URL來進行修復。

    2. 我不能訪問本地主機(這是最容易出問題)

    我需要測試一些東西例如像支付,它們不適用於任何仿真器,並且希望直接從本地主機進行調試,而無需構建應用程序並每次發佈它。

    是否有可能做些什麼,以便我可以從我的設備上的Cordova調試存儲訪問權限,同時從本地服務的.js文件?

  • 回答

    1

    如果您使用的是Visual Studio 2017,那麼您是否安裝了Apache Cordova(TACO)的工具?有了這些,您可以在連接的設備上輕鬆地運行應用程序(我爲該產品編寫了文檔,因此我測試了數百次:-))。關於在模擬器上運行,您還可以在Visual Studio中使用Cordova Simulate,每次更改後該應用程序都會自動刷新瀏覽器窗口。沒有理由重新啓動模擬器。 Cordova Simulate替換早期版本的TACO中包含的Ripple Emulator。

    我假設你正在嘗試在連接到系統的Android設備上進行測試?別忘了,localhost指向運行該應用程序的設備。移動設備上的本地主機指向本地設備,而不是您正在從中調試的系統。要從Android設備訪問本地PC,您必須指向10.0.2.2,這是Android設備打開的一個特殊地址,用於連接主機PC。您可以在我的博客(http://johnwargo.com/mobile-development/android-emulator-access-to-localhost.html)上閱讀(稍微)一下。

    +0

    當您關聯您的博客時,請確保它明顯是您的博客。幾句話,比如我的編輯,很多,只要掃描您的答案的任何人都可以知道這是您鏈接到的內容,那就很好。 –

    +0

    嗨,謝謝你的回答,我明白localhost是不同的,這就是爲什麼我問,不知道關於10.0.2.2,會嘗試使用它:)關於瀏覽器中的模擬器,每當我做一個改變我的webpack控制的應用程序,模擬器馬上死亡(現在不記得100%的錯誤信息,可以稍後檢查)。所以瀏覽器確實刷新了,並且檢測到了這個變化,但是我失敗了,而不是應用程序。也許是因爲我引用了另一個主機(webpack),而不是直接從文件系統引用。 –

    +0

    我不知道,但如果您提供詳細信息(錯誤消息等),您將能夠得到更好的幫助。你沒有回答我的問題:你在使用TACO嗎?如果不是,爲什麼不呢? Microsoft爲科爾多瓦開發提供了一些非常令人驚歎的工具,並簡化了整個流程。您可以將WebPack配置爲VS構建過程的一部分,甚至可以將它用於Cordova Simulate。 – johnwargo