gpt4 book ai didi

cordova - 如何添加 cordova 插件和平台

转载 作者:行者123 更新时间:2023-12-02 04:47:52 25 4
gpt4 key购买 nike

我正在使用 this cordova tutorial尝试设置一个 cordova/phonegap 应用程序。我在 Windows 上开发,我安装了 node.js,我在 Node.js 命令提示符下工作。我下载并安装了:
Andorid SDK from herehave added it to PATH ,
downloaded antinstalled it ,
Java JDK 也是 downloaded并安装。

我的 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 成功安装了 cordova,并创建了我的 workshop 目录。然后我尝试添加教程建议的平台和插件。这是仅适用于 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 桌面和手机应用程序放置在那里),但是当我尝试更复杂的教程时,例如 this PhoneGap tutorial 的第 12 部分|在需要相机 API 的地方,浏览器(显然)和我的手机不支持相机(错误:不支持相机 API)。

编辑

我已经通过使用 git 添加 Android 平台和插件解决了这个问题;解决方案如下。但是,如果我遗漏了什么,请告诉我。
config.xml 似乎应该处理一些功能,但我一直没弄明白。
Cordova 5.1.1 的一切

最佳答案

我认为文档很旧,这一直给我带来问题。此外,在使用 Cordova 从头开始​​创建应用程序时,或者通过 PhoneGap 或 PhoneGap build 创建应用程序时,一些 config.xml 和文件结构是不同的。

首先,在使用 Cordova 构建应用程序时,这些代码行似乎不起作用:

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

所有平台和插件都需要通过Git 添加。 Android platform here , 和 a list of plugins here .

因此,例如,要获取默认的 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,我不知道任何其他系统。

关于cordova - 如何添加 cordova 插件和平台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31448432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com