簡體   English   中英

升級到phonegap 3.3.0

[英]Upgrade to phonegap 3.3.0

我正在將我的phonegap項目從phonegap 2.9.0升級到最新的一個,phonegap 3.3.0。 因為它有很多很大的改進。

這是關於一個Android項目,但很快也將成為ios

但是,我幾天都在苦苦掙扎,仍然沒有工作代碼。

我這樣做了:

安裝了phonegap並創建了一個像手冊一樣的新項目: http ://phonegap.com/install/

在此之后,我慢慢地將我的舊代碼插入到www文件夾中,並以新的3.0方式安裝插件。

但無論我做什么......我覺得這很煩人:

初始化Cordova時出錯:找不到類

因為我曾經在eclipse中運行它並且使用這個調試控制台(並且沒有找到如何從cli工作到底工作......還有更多的調查要做),我試圖讓它在eclipse中工作。

但在那里,它沒有cordova jar,我無法在任何地方找到它。 我曾經將cordova-2.9.0.jar添加到構建路徑,但是沒有cordova-3.3.0.jar。 我看到了一個答案abouyt創造了你的十二個:但后來被評論為不正確的方式(因為在沒有電話檔文件中提到這個......我無法想象那是這樣的)

在eclipse中,這會導致錯誤:import org.apache.cordova。*;

就像我說的那樣......沒有科多瓦罐......你解決這個問題嗎?

所以一下子就有幾個問題......

  1. 為了獲得更好的調試:我如何在eclipse中使用它
  2. 為什么我會收到此錯誤...找不到類(可能與丟失的jar有關)

沒有任何相關問題為我提供了解決方案......

編輯我剛剛添加,更詳細的步驟,就像我開始這一步: http ://docs.phonegap.com/en/3.3.0/guide_cli_index.md.html#The%20Command-Line%20Interface

但比我注意到......這個命令:

sudo npm install -g cordova

我以為我做過,但我做過:

sudo npm install -g phonegap

但這沒有任何區別。

運行它:`

phonegap運行android -V --device

`得到:

[phonegap] detecting Android SDK environment...
[phonegap] using the local environment
[phonegap] compiling Android...
[phonegap] Generating config.xml from defaults for platform "android"
[phonegap] Compiling app on platform "android" via command "/Path to my app/platforms/android/cordova/build" 
[phonegap] Platform "android" compiled successfully.
[phonegap] successfully compiled Android app
[phonegap] installing app onto device
[phonegap] Generating config.xml from defaults for platform "android"
[phonegap] Running app on platform "android" via command "/Path to my app/platforms/android/cordova/run" --device
[phonegap] Platform "android" ran successfully

但仍然像以前一樣給出錯誤。 在日食中仍然需要添加Cordova jar,這是無處可尋的..

編輯2

我創建了一個新項目,只是為了看看將這個添加到eclipse時發生了什么......它似乎有效。 所以我從ecplise中刪除了這個項目...並添加了它(為thsi提供了phonegap文檔:新的android項目;從現有代碼中添加)。 現在它在文件夾platforms / CordovaLib / bin中創建了一個名為 - cordova-lib.jar的新jar

這似乎適用於eclipse ...在cli run命令中仍然存在相同的錯誤。 但是現在我可以嘗試從eclipse運行它並找到更多...(我會在發現錯誤時立即發布)

編輯3

在eclipse中運行它會顯示錯誤(奇怪的是,這沒有顯示在-g模式的phonegap中):

01-05 09:04:16.557: D/CordovaLog(698): file:///android_asset/www/phonegap.js: Line 1544 : Could not find cordova.js script tag. Plugin loading may fail.
01-05 09:04:16.567: I/Web Console(698): Could not find cordova.js script tag. Plugin loading may fail. at file:///android_asset/www/phonegap.js:1544

但是為什么這個js文件不存在....

編輯16-jan-2014

這也成為一個受歡迎的問題。 所以我不是唯一一個與phonegap 3.x斗爭的人。這是另一個尚未解決的問題: https ://stackoverflow.com/questions/20953653/config-xml-phonegap-3-3-0-ignores-name-and -描述

EDIT 21-jan-2014重要提示(請參閱很多關於此的問題):藍圖www文件夾中的config.xml與phonegap文檔中描述的不同。 它有另一個模式,並且是每個平台的config.xml的藍圖,作為許多其他的東西和文件(androoid清單xml文件,圖標等)。 不幸的是,我還沒有在phonegap文檔中找到這個config.xml文件的正確描述(除了模式之外)(只是平台相關目標config.xml文件的一個很好的描述)。 他們為一個非常不同的文件選擇相同的名稱是非常令人困惑的...

編輯12-feb-2014這可能會有所幫助...因為我仍然無法在手機頁面上找到這個所謂的藍圖config.xml的正確描述: https//github.com/phonegap/phonegap-start/blob/主/ WWW / config.xml中

編輯2014年5月5日

由於phonegap的所有問題,phonegap背后原理的好處已經消失了。 (我仍然相信潛在的手機差距可能是解決方案......但現在還為時過早)。 所以我很抱歉我必須離開phonegap路徑。 我讓那些仍然在尋找答案的人給出了這個答案......但是不要指望我得到任何答案或“接受正確答案”。

因為它一直在抱怨沒有找到這些類,我懷疑這是關於插件類的。 所以我將它們全部刪除並重新安排它們,現在它正在工作。

刪除所有插件並重新安裝

phonegap plugin list

[phonegap] org.apache.cordova.camera
[phonegap] org.apache.cordova.console 
[phonegap] org.apache.cordova.device
[phonegap] org.apache.cordova.device-motion
[phonegap] org.apache.cordova.device-orientation
[phonegap] org.apache.cordova.dialogs 
[phonegap] org.apache.cordova.file 
[phonegap] org.apache.cordova.file-transfer 
[phonegap] org.apache.cordova.geolocation 
[phonegap] org.apache.cordova.inappbrowser    
[phonegap] org.apache.cordova.media 
[phonegap] org.apache.cordova.media-capture
[phonegap] org.apache.cordova.network-information
[phonegap] org.apache.cordova.splashscreen

phonegap plugin help

對於所有安裝,我做了這個(我找不到一個*來立即卸載它們)

phonegap plugin remove org.apache.cordova.device

然后我重新安裝它們,所以對於所有插件:

phonegap plugin add org.apache.cordova.device

這對我有用了....

編輯

順便說一句,幾天后我發現,如果你在日食中運行東西。 你應該添加2個項目。 一個完整的項目(作為一般項目,而不是android)。 在那里,您可以編輯藍圖WWW文件夾中的代碼。 在編輯之后,你運行cli(命令行界面)命令:'cordova build',然后你可以從第二個項目運行它(你將平台/ android文件夾添加為android項目,使用現有代碼添加)。

順便說一下,在解決了這個問題之后...我試着為我的phonegap項目完成一個全新的結賬工作是否在一個全新的新文件夾中工作。

因此我使用了一個執行此操作的小bash文件:(在剛剛克隆的文件夾中運行git clone命令后):

  • unistall所有插件...(我復制了列表的輸出並添加了phonegap插件刪除)
  • 安裝所有插件......
  • phonegap運行android

和沮喪再次得到相同的消息....

我找到了一個關於一個手機英雄的博客: http ://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/

特別要說一句:他創建了一個用於安裝插件的鈎子......但鈎子是:

after_platform_add`

這意味着我的訂單錯了....結帳后,沒有添加任何平台,這是在:

phonegap run android after 

所以在添加平台之前安裝插件......似乎不起作用!

在我的bash文件中安裝插件之前,我插入了一個構建命令(也添加了平台),現在它可以工作了。

但更好的是:在上面的鏈接中使用Holly Schinsky建議的鈎子......這適用於所有平台,而不僅僅適用於ubuntu(我的bash文件)。

那么這個頁面似乎解釋了它(我只能通過eclipse得到這個答案,命令行界面(CLI)從來沒有給我任何警告。

這個錯誤:

Could not find cordova.js script tag. Plugin loading may fail

引導我:

https://github.com/phonegap/phonegap-cli/issues/134

現在看來你必須改變phonegap創建的代碼!!

<!-- <script type="text/javascript" src="phonegap.js"></script> -->
<script type="text/javascript" src="cordova.js"></script>

但是......這對我沒有幫助,仍然是同樣的錯誤。

所以我把它改回來:

<script type="text/javascript" src="phonegap.js"></script>

我留下這個答案,因為對於其他人來說這似乎有用(?)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM