为啥我将 zip 文件上传到 phonegap 服务时出现错误?
Posted
技术标签:
【中文标题】为啥我将 zip 文件上传到 phonegap 服务时出现错误?【英文标题】:Why I get error when I upload zip file to phonegap service?为什么我将 zip 文件上传到 phonegap 服务时出现错误? 【发布时间】:2017-11-05 23:49:20 【问题描述】:我尝试使用 phonegap 服务创建 apk 文件。
这是我项目中的 config.xml 文件:
<?xml version='1.1' encoding='utf-8'?>
<widget id="il.co.geomind.gilgalplay" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">
<name>sites</name>
<description>
app for sites mapping
</description>
<author email="jacklondon@ddd.com" href="">
</author>
<content src="index.html" />
<access origin="*" />
<preference name="Orientation" value="portrait" />
<preference name="permissions" value="none"/>
<feature name="http://api.phonegap.com/1.0/camera"/>
<feature name="http://api.phonegap.com/1.0/geolocation"/>
<icon src="images/icons/ldpi.png" gap:platform="android" gap:qualifier="ldpi" />
<icon src="images/icons/mdpi.png" gap:platform="android" gap:qualifier="mdpi" />
<icon src="images/icons/hdpi.png" gap:platform="android" gap:qualifier="hdpi" />
<icon src="images/icons/xhdpi.png" gap:platform="android" gap:qualifier="xhdpi" />
<icon src="images/icons/xxhdpi.png" gap:platform="android" gap:qualifier="xxhdpi" />
<icon src="images/icons/xxxhdpi.png" gap:platform="android" gap:qualifier="xxxhdpi" />
<!-- iPhone / iPod Touch -->
<icon src="images/icons/mdpi.png" gap:platform="ios" />
<icon src="images/icons/xhdpi.png" gap:platform="ios" />
<!-- Settings Icon -->
<icon src="images/icons/ldpi.png" gap:platform="ios" />
<icon src="images/icons/mdpi.png" gap:platform="ios" />
<!-- Spotlight Icon -->
<icon src="images/icons/ldpi.png" gap:platform="ios" />
<icon src="images/icons/mdpi.png" gap:platform="ios" />
<gap:platform name="android" />
<gap:splash src="images/icons/screen-xhdpi.png"/>
<gap:plugin name="cordova-plugin-whitelist" source="npm" />
<gap:plugin name="org.apache.cordova.camera" version="0.3.6" source="npm" />
<gap:plugin name="org.apache.cordova.device" version="0.3.0" source="npm"/>
<gap:plugin name="com.phonegap.plugins.pushplugin" version="2.5.0" source="npm"/>
<gap:plugin name="org.apache.cordova.geolocation" version="0.3.12" source="npm"/>
</widget>
我从项目制作 zip 文件并上传到 phonegap 服务我收到此错误:
Error - The following plugin, plugin version or a dependancy of this plugin is not on npm: com.phonegap.plugins.pushplugin@2.5.0
知道我为什么会出现上述错误以及如何解决它吗?
【问题讨论】:
【参考方案1】:通过将源设置为 Node Package Manager (source="npm"),您是在告诉 PhoneGap Build 从该位置检索插件,但“com.phonegap.plugins.pushplugin, version 2.5.0”不是t 实际上在那里。
如果我们查看npmjs.com for the push plugin,有两个插件搜索结果,但正如另一个答案中所述,它已经超过 2 年没有更新,甚至被标记为“-deprecated”。
假设您想要一个推送通知插件,我建议您尝试找到一个官方的。为此,请从“cordova-plugin”开始搜索它们,再加上您要查找的任何内容:“cordova-plugin-push”。这导致了我to this one,这可能会起作用。
在您的 config.xml 文件中,像这样添加对它的引用:
<plugin name="cordova-plugin-push-notification" version="2.5.2" source="npm" />
我使用的是 2.5.2 版本,因为那是最新版本:
如需进一步参考,请参阅我在using NPM with PhoneGap Build 上的指南。
【讨论】:
【参考方案2】:您似乎正在尝试使用 https://github.com/phonegap-build/PushPlugin,它似乎已被弃用,并且在 2 年内没有发布过。
看来你应该试试https://github.com/phonegap/phonegap-plugin-push 来代替它
【讨论】:
知道我是如何使用它的吗?在我的项目中如何以及在哪里引用? 插件有一个示例应用程序,您可以从模板创建,因此您最好尝试一下:phonegap create my-app --template phonegap-template-push (github.com/phonegap/phonegap-plugin-push/blob/master/docs/… ) 我不能只将特定的 js 文件安装到我的项目中并在 config.xml 文件中引用。我已经有一个项目我只需要创建 apk 文件吗?以上是关于为啥我将 zip 文件上传到 phonegap 服务时出现错误?的主要内容,如果未能解决你的问题,请参考以下文章
当我上传新的 zip 文件时,Phonegap 构建拒绝更新我的应用程序
使用 Phonegap 以编程方式将文件从 SD 卡上传到远程服务器
为啥上传到 S3 的文件的内容类型为 application/octet-stream,除非我将文件命名为 .html?