2017-09-18 98 views
1

我創建了一個簡單的Firefox擴展(使用WebExtensions),我想每天使用在Firefox不發佈addons.mozilla.org上( AMO)。我可以暫時安裝它,並通過點擊about:debugging,點擊「Load Temporary Add-On」按鈕並打開manifest.json文件來驗證它是否正常工作。Firefox插件,由Mozilla簽署「似乎已損壞」時,試圖在本地安裝

因爲我想使用的擴展,而無需通過這一過程我每次重新啓動Firefox一次去,我打包成一個XPI文件,並試圖像普通的本地擴展安裝。我將兩個文件(manifest.json,content_script.js)和一個目錄(圖標/)歸檔到一個ZIP文件中,並將其重命名爲test.xpi。在about:addons,我點擊了齒輪圖標,選擇了「從文件安裝插件」,並選擇了test.xpi文件。但火狐總是給我錯誤

「此附加組件無法安裝,因爲它似乎是損壞的」。

在創建ZIP文件時,我小心地將清單文件保存在存檔頂部,並且did not include the containing folder itself。我試着在本地安裝XPI文件後嘗試執行some detailed instructions,甚至安裝Cygwin以訪問指令中提到的「zip」實用程序,但我無法在任何Cygwin文件夾中找到該實用程序。

要看到,如果問題是缺乏一個Mozilla簽名的,我提交給了AMO(addons.mozilla.org)進行簽名。 AMO簽署了它,併爲我提供了一個新的XPI文件,我認爲它是自簽署以來可以安裝的。但是這個正式創建並簽名的XPI文件仍然有錯誤,說明它已經損壞。

有沒有人有想法,我怎麼能找出是什麼原因造成的?

+0

如果沒有訪問實際的* .xpi *文件,除了猜測問題可能出現之外,我們沒有辦法做任何事情。 – Makyen

+0

您可能想看看我的回答:[如何禁用Firefox插件的簽名檢查?](https://stackoverflow.com/a/42403531),這可能有助於使用替代方法。 – Makyen

+0

你也應該看看[這些帖子](https://stackoverflow.com/search?q=%5Bfirefox-addon%5D+appears+to+be+corrupt) – Makyen

回答

0

我能夠解決這個問題:事實證明,清單需要一個「id」屬性,即使Mozilla documentation聲稱:「但是,從Firefox 48開始,您可以開發,調試,發佈和更新擴展,而無需根本設置一個明確的ID「。和「什麼時候需要附加ID?如果你從它的[原文] XPI文件加載附加組件,不會使用about:debug暫時加載它,並且它沒有簽名[我的XPI文件已簽名]」 。

+0

我找到了一個如何在這裏添加這個例子: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/applications。財產以後類似下面的JSON已被添加到manifest.json文件中的頂層:「應用程序」:{ 「壁虎」:{ 「ID」:「[email protected]」, 「strict_min_version」:「 42.0「 } } – BenjaminJackman