簡體   English   中英

如何添加cordova插件和平台

[英]How to add cordova plugins and platforms

我正在使用此cordova教程嘗試設置cordova / phonegap應用程序。 我在Windows上開發,我安裝了node.js,我在Node.js命令提示符下工作。 我下載並安裝了:
來自這里的Andorid SDK 並將它添加到PATH
下載了ant安裝了它
下載並安裝了Java JDK。

我的PATH包含以下內容:
%ANT_HOME%\\bin;%JAVA_HOME%\\bin;C:\\Program Files (x86)\\Android\\android-sdk\\tools

在cmd中鍵入android打開Android SDK管理器。
鍵入java顯示java命令幫助。
鍵入ant -version顯示了ant版本(1.9.6)。
鍵入cordova顯示cordova幫助命令。

我用npm install -g cordova成功安裝了npm install -g cordova ,並創建了我的研討會目錄。 然后我嘗試添加本教程建議的平台和插件。 這是android平台和設備插件的命令提示輸出:

C:\Users\Roman\All\Work\CriticalID\again>cordova platforms add android
npm http GET https://registry.npmjs.org/cordova-android/-/cordova-android-4.0.2.tgz
npm http 200 https://registry.npmjs.org/cordova-android/-/cordova-android-4.0.2.tgz

C:\Users\Roman\All\Work\CriticalID\workshop>cordova plugin add cordova-plugin-device
Fetching plugin "cordova-plugin-device" via npm
npm http GET https://registry.npmjs.org/cordova-plugin-device
npm http 304 https://registry.npmjs.org/cordova-plugin-device
npm http GET https://registry.npmjs.org/cordova-plugin-device/-/cordova-plugin-device-1.0.1.tgz
npm http 200 https://registry.npmjs.org/cordova-plugin-device/-/cordova-plugin-device-1.0.1.tgz

檢查平台和插件是否已安裝:

C:\Users\Roman\All\Work\CriticalID\workshop>cordova platforms ls
Installed platforms:
Available platforms: amazon-fireos, android, blackberry10, browser, firefoxos, windows, windows8, wp8

C:\Users\Roman\All\Work\CriticalID\workshop>cordova plugin ls
No plugins added. Use `cordova plugin add <plugin>`.

C:\Users\Roman\All\Work\CriticalID\workshop>cordova build
No platforms added to this project. Please use `cordova platform add <platform>`.

我安裝的平台或插件都沒有顯示為已安裝。 workshop\\pluginsworkshop\\platforms文件夾也都是空的。

教程應用程序可以在我的瀏覽器和手機中使用(通過PhoneGap桌面和手機應用程序放置),但是當我嘗試更復雜的教程時,例如需要相機API的PhoneGap教程中的第12部分,則不支持相機瀏覽器(顯然)和我的手機( Error: Camera API is not supported )。

編輯

我通過使用git添加Android平台和插件解決了這個問題; 解決方案如下。 但是,如果我錯過了什么,請告訴我。
似乎config.xml應該處理一些功能,但我無法弄明白。
Cordova 5.1.1的一切

我相信文檔很舊,這給我帶來了麻煩。 此外,使用Cordova或通過PhoneGap或PhoneGap構建從頭開始創建應用程序時,某些config.xml和文件結構會有所不同。

首先,在使用Cordova構建應用程序時,這些代碼行似乎不起作用:

cordova platforms add android
cordova plugin add org.apache.cordova.device
cordova plugin add cordova-plugin-device

所有平台和插件都需要通過Git添加。 Android平台在這里 ,以及這里的插件列表

因此,例如,要獲取默認的Cordova應用程序(用於灌輸,請參閱上面的問題),將以下內容復制並粘貼到CMD中:

cd into your working directory
cordova create workshop com.name.workshop Workshop
cd workshop
cordova platform add https://github.com/apache/cordova-android.git
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-whitelist.git
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git

請注意,必須在插件之前添加平台。 我添加了whitelist因為config.xml想要,我也添加了deviceconsole因為教程告訴我。

現在,如果您鍵入cordova platform lscordova plugin ls ,那么您應該返回一個非空列表。

為了完整起見,如果您現在想要使用相機:1)將以下內容復制到index.html

<img id='image' src='' style="position:absolute;margin:5px;left:0px;top:0px;"/>
<button id="test_camera">Camera Test</button>
<script type="text/javascript" src="js/test.js"></script>

2)創建一個新腳本test.js ,並將以下內容粘貼到其中。 我不喜歡教程創建此函數的復雜方式,這是更直接的方式:

var changePicture = function() {
  if (!navigator.camera) {
      alert("Camera API not supported", "Error");
      return;
  }
  var options =   {   quality: 50,
                      destinationType: Camera.DestinationType.DATA_URL,
                      sourceType: 1,      // 0:Photo Library, 1=Camera, 2=Saved Album
                      encodingType: 0     // 0=JPG 1=PNG
                  };

  navigator.camera.getPicture(
      function(imgData) {
          $('#image').attr('src', "data:image/jpeg;base64," + imgData);
      },
      function() {
          alert('Error taking picture', 'Error');
      },
      options);

  return false;
};

$("#test_camera").on('click', function() {
    changePicture()
})

您可以單獨在index.js保留初始化代碼。

現在使用PhoneGap桌面應用程序和PhoneGap手機應用程序在手機上測試您的應用程序。 我很容易。 我正在使用Windows和Android,我不知道任何其他系統。

暫無
暫無

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

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