[英]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\\plugins
和workshop\\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
想要,我也添加了device
和console
因為教程告訴我。
現在,如果您鍵入cordova platform ls
和cordova 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.