我无法使用form provided by mozilla上传我的火狐扩展。我经常收到错误Your add-on failed validation with 2 errors. No install.rdf or manifest.json foundAdd-on missing manifest
,这是非常误导的,因为我的应用程序有一个a manifest.json。
manifest.json如下所示:
{
"manifest_version": 2,
"version": 1.0,
"name": "my-extension-name",
"description": "Lorem ipsum dolor sit amet",
"background": {
"scripts": ["js/background.js"]
},
"main": "popup.js",
"browser_action": {
"default_icon": "img/icon_grey.png",
"default_popup": "popup.html",
"default_title": "loremipsum"
},
"engines": {
"firefox": ">=38.0a1"
},
"permissions": [
"activeTab",
"tabs",
"background",
"http://*/*",
"https://*/*",
"notifications",
"alarms",
"storage",
"webRequest",
"webRequestBlocking",
"clipboardRead"
]
}
要使此功能正常工作,还缺少什么?
发布于 2016-12-13 19:10:25
由于我已经找到了我的问题的解决方案,并想分享它以供将来参考,因此我回答了我自己的问题:
手头的问题是我没有使用web-ext
命令行工具来创建.zip / .xpi包。我能够通过安装web-ext
并使用web-ext build
构建扩展来解决这个问题。此操作的结果是一个包含项目的.xpi文件,然后我可以将该项目上载到AMO服务。请注意,新创建的包中的manifest.json
是与我最初提供的相同的。但是,除了manifest.json
之外,还创建了一个目录META-INF
,其中包含mozilla.mf
、mozilla.rsa
和mozilla.sf
文件。
然而,这并没有完全解决我的问题。在上传扩展到AMO后,它无法安装,并被认为已损坏。显然,这就是我在interwebz中读到的(忘记了源代码),Mozilla打开上传的.zip / .xpi包来测试它,因为我的包没有签名,Mozilla无法确保它的完整性,并将其标记为不安全(即损坏)。
为了解决第二个问题,我必须签署扩展。这可以使用以下命令来完成:
web-ext sign --api-secret YOUR_API_SECTER --api-key YOUR_API_KEY
在这之后,我就可以上传和安装扩展了。
发布于 2017-04-09 05:08:54
我遇到了同样的问题,但所有这些指令都没有解决它。我通常做的是打包整个文件夹,因此manifest.json在解包时并不在第一层。
针对ME的解决方案
选择所有文件,而不是文件夹,然后将它们打包为一个.zip文件,它应该可以工作。至少对我来说是这样的。
这里有一个MDN Documentation的链接。
发布于 2018-06-09 04:47:56
对此非常简单的答案是它无法在您的zip文件中找到清单。这是因为当你获取一个文件并使用windows中的默认压缩器对其进行压缩时,它会获取该文件并将其放入您创建的zip文件的子文件夹中。
压缩之前的
folderYouWantCompressed -FileInFolder.html -Manifest.json
压缩后的将如下所示的
nameOfZip.zip -folderYouWantCompressed -FileInFolder.html -Manifest.json
但你想要的是
nameOfZip.zip -FileInFolder.html -Manifest.json
Oliver Sauter答案有效的原因是,当您选择"folderYouWantCompressed“中的所有文件时,它压缩时没有子文件夹,这意味着您不会遇到这个问题,并且它没有找到清单文件的问题。
对于我所能告诉的“正确答案”似乎是签署附加组件本身,并能够正确地获得清单文件,所以它确实有效,但只是看起来像是第三方的方式(我没有太深入地研究它)
注:我最初通过查看Oliver Sauter帖子解决了我的问题,我只是想让未来关注这篇文章的人明白这一点。
https://stackoverflow.com/questions/41005258
复制相似问题