我已经在Visual Studio 2015中开发了一个Cordova应用程序(适用于Android)已有好几个月了,现在没有任何实际问题.我已经安装了插件,更新了我的Cordova版本,并将APK部署到设备而没有问题.
但我现在需要编写自己的插件来扩展我们需要的一些功能.但是,具体功能对于这个问题并不重要.
我一直在追随以下指南:
https://taco.visualstudio.com/en-us/docs/createplugintutorial/
我使用PlugMan创建插件并添加Android平台,如下所示:
plugman create --name DeviceInfo --plugin_id cordova-plugin-mycompany-deviceinfo --plugin_version 0.0.1
plugman platform add --platform_name android
Run Code Online (Sandbox Code Playgroud)
我将所有细节(或多或少)默认保留为尽可能接近示例.
这给了我在Visual Studio中创建的插件控件项目中的以下文件夹和文件:
然后我去了我的Cordova项目,像往常一样添加插件(并且已经这么做了好几个月),但它拒绝添加插件:
这是我在Visual Studio的输出窗口中得到的错误,但我很确定这是一个相当标准的Cordova输出,它不是VS特定的:
Executing "before_plugin_add" hook for all plugins.
No version specified, retrieving version from config.xml
No version given in config.xml, attempting to use plugin engine info
C:\Users\matthew\AppData\Roaming\npm\node_modules\vs-tac\node_modules\q\q.js:126
throw e;
^
Error: Registry returned 404 for GET on https://registry.npmjs.org/Application.MyCordovaApplication
Run Code Online (Sandbox Code Playgroud)
这是我的plugin.xml:
<?xml version='1.0' encoding='utf-8'?>
<plugin id="cordova-plugin-mycompany-deviceinfo" version="0.0.1" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
<name>DeviceInfo</name>
<js-module name="DeviceInfo" src="www/DeviceInfo.js">
<clobbers target="cordova.plugins.DeviceInfo" />
</js-module>
<platform …Run Code Online (Sandbox Code Playgroud) plugins android cordova cordova-plugins visual-studio-cordova