--- license: > Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. title: 外挂程式规范 toc_title: Plugin.xml --- # 外挂程式规范 `plugin.xml`档是一个 XML 文档在 `plugins` 命名空间: `http://apache.org/cordova/ns/plugins/1.0` 。 它包含顶级 `plugin` 元素,定义该外挂程式和定义外挂程式的结构的儿童。 示例外挂程式元素: ## *外挂程式*元素 `plugin`元素是外挂程式清单的顶级元素。它具有下列属性: * `xmlns`(必填): 外挂程式的命名空间, `http://apache.org/cordova/ns/plugins/1.0` 。 如果文档包含 XML 从其他命名空间如标记添加到 `AndroidManifest.xml` 档中,这些命名空间,也应该列入的顶级元素。 * `id`(必填): 一个反向域样式识别码的外挂程式,如`com.alunny.foo` * `version`(必填): 该外挂程式相匹配的以下主要-未成年人-修补程式样式的正则运算式的版本号: ^\d+[.]\d+[.]\d+$ ## *发动机*和*引擎*的元素 子项目的 `` 元素指定版本的此外挂程式支援的基于 Apache 科尔多瓦的框架。示例: 类似于 `` 元素的 `version` 属性中,指定的版本字串应匹配符合正则运算式的字串主要-未成年人-修补程式: ^\d+[.]\d+[.]\d+$ 引擎的元素也可指定模糊比对为了避免重复,并减少维护基础平台更新时。 工具应该支援的最低 `>` , `>=` , `<` 和 `<=` ,例如: ``标签也有预设支援的所有主要平台存在的科尔多瓦。 指定 `cordova` 引擎标记,则意味著所有版本的科尔多瓦在任何平台上必须都满足发动机版本属性。 你可能还会列出特定的平台和它们的版本以覆盖全部捕获 `cordova` 引擎: 这里是`< engine >`标记支援预设引擎的清单: * `cordova` * `cordova-plugman` * `cordova-amazon-fireos` * `cordova-android` * `cordova-ios` * `cordova-blackberry10` * `cordova-wp8` * `cordova-windows8` * `android-sdk` // returns the highest Android api level installed * `apple-xcode` // returns the xcode version * `apple-ios` // returns the highest iOS version installed * `apple-osx` // returns the OSX version * `blackberry-ndk` // returns the native blackberry SDK version 指定自订的基于 Apache 科尔多瓦的框架应列出引擎标记下就像这样: 一个自订的基于 Apache 科尔多瓦框架需要引擎的元素包含以下特性: `name` , `version` , `scriptSrc` ,和`platform`. * `name`(必填): 人类可读的名称为您自订的框架。 * `version`(必填): 您的框架必须要安装的版本。 * `scriptSrc`(必填): 告诉 plugman 是什么版本的自订框架的指令档。 理想情况下,这个档应该在你的外挂程式目录的顶级目录内。 * `platform`(必填): 您的框架支援哪些平台。 您可以使用万用字元`*`说支援的所有平台,指定多个像`android|ios|blackberry10`的管道字元或只是一个单一的平台,像`android`. plugman 中止与非零代码为其目标专案不能满足发动机的约束任何外挂程式。 如果不是 `` 指定的标记、 plugman 尝试盲目地安装到指定的科尔多瓦的专案目录。 ## *名称*元素 该外挂程式,其文本内容包含外挂程式的名称人类可读的名称。例如: Foo 此元素还不能 () 处理当地语系化。 ## *说明*元素 对该外挂程式的人类可读说明。元素的文本内容包含外挂程式的描述。示例: Foo plugin description 此元素还不能 () 处理当地语系化。 ## *作者*元素 外挂程式作者姓名。元素的文本内容包含外挂程式作者的姓名。示例: Foo plugin description ## *关键字*元素 外挂程式关键字。元素的文本内容包含以逗号分隔的关键字来描述该外挂程式。示例: foo,bar ## *许可证*元素 外挂程式许可。元素的文本内容包含外挂程式许可证。示例: Apache 2.0 License ## *资产*元素 一个或多个元素列出档或目录复写到科尔多瓦 app `www` 目录。例子: 所有 `` 标签需要两个 `src` 和 `target` 的属性。 只有 web 外挂程式包含主要是 `` 的元素。 任何 `` 元素的嵌套在 `` 元素指定特定于平台 web 资产,如下所述。 属性包括: * `src`(必填): 档或目录位于外挂程式包,相对于`plugin.xml`文档。 如果档不存在指定的`src`地点,plugman 停止反转安装过程,发出一个通知关于冲突,和与非零代码退出。 * `target` (required): 在那里的档或目录应位于科尔多瓦 app,相对于`www`目录。 资产可以有针对性地对子目录,例如: 创建`js/experimental`目录在`www`目录中,除非已经呈现,然后将`new-foo.js`档案复制并重命名为`foo.js`。 如果目标位置已存在的档,plugman 停止和反转安装过程、 然后发出一个通知关于冲突,并在此与非零代码退出。 ## *js 模组*元素 大多数的外挂程式包括一个或多个 JavaScript 档。 每个 `` 标记对应于一个 JavaScript 档,并防止外挂程式的使用者不必添加 `