26

私のFirefox拡張機能をxpiファイルとしてパックしたいと思います。アーカイブに追加して、filename.xpiという名前を付けてみました

しかし、Firefox にインストールしようとすると、「パッケージが破損しています」というメッセージが表示されます。有効な xpi ファイルを作成する方法はありますか?

cygwin をインストールし、zip コマンドを実行して xpi ファイルを作成しようとしました。しかし got zip はコマンドエラーではありません。

誰かがそれを成し遂げるために私を導くことができますか?

4

9 に答える 9

29

Windows を使用している場合 (cygwin をインストールする場合は、インストールするように見えます)、Windows 組み込みツールを使用できます。

  1. 拡張機能の内容を選択します (外側のフォルダーを選択しないでください)。
  2. 右クリック
  3. に送る
  4. 圧縮(zip)フォルダ

次に、ファイル名の .zip を .xpi に置き換えます。

あなたの問題はポイント1を正しく完了することにあるようです。拡張子の内容のみを選択します。それを含むフォルダーではありません。

したがって、基本的にzipファイルは次の構造を持つ必要があります。

my_extension.zip
  |- install.rdf
  |- chrome.manifest
  |- <chrome>

この構造ではありません:

my_extension.zip
  |- <my_extension>
       |- install.rdf
       |- chrome.manifest
       |- <chrome>
于 2013-10-08T11:35:59.273 に答える
7

私は今日同じ問題を経験し、アドオンが明らかに Mozilla によって署名されていないというエラーを発見したため、Firefox はインストールを拒否しました。最近まで、 でxpinstall.signatures.requiredfalse に設定することで、このセキュリティ チェックをバイパスすることができましたabout:config。ただし、Firefox 46 以降、署名は必須であり、バイパスは提供されなくなりました。https://blog.mozilla.org/addons/2016/01/22/add-on-signing-update/を参照してください。以前のバージョンにダウングレードするか、非リリース チャネル バージョンを使用してアドオンをテストする必要があります :(

于 2016-02-25T12:44:04.097 に答える
2

7z を使用して拡張機能をパックする場合は、.zip に圧縮してから .xpi に名前を変更します。圧縮しないでください。

于 2013-10-08T08:39:02.393 に答える
1

7z を使用している間は、次のように実行します。外側のフォルダーではなく、内側のコンテンツのみを選択します。ファイル名をfilename.xpiとして入力し、圧縮中に表示されるプロンプトでzipとしてアーカイブ形式を選択します。有効な xpi ファイルが作成されていることがわかります。作成した xpi を使用して、Firefox に拡張機能をインストールします。できます!

于 2015-02-19T12:52:12.613 に答える
1

my_extension フォルダー内のすべてのファイルとフォルダーを圧縮し、結果の圧縮ファイルの拡張子を my_extension.xpi に変更するだけです。

/my_extension
  |- defaults/
  |- locale/
  |- resources/
  |- install.rdf
  |- ... (other files and folders)

my_extension フォルダーの圧縮ファイルから作成された xpi ファイルをインストールすると、
「このアドオンは破損しているように見えるため、インストールできませんでした」というエラーが発生します。エラー

于 2015-09-01T00:32:12.987 に答える
0
  1. ファイルを作成config.js
  2. コードを挿入するconfig.js
//
try {
Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {})
.eval("SIGNED_TYPES.clear()");
}
catch(ex) {}
  1. config.jsアプリケーションの作業フォルダに移動します。例:C:\Program Files\Mozilla Firefox\

  2. config-prefs.jsコードを作成して次の場所に書き込みます。

pref("general.config.obscure_value", 0);
pref("general.config.filename", "config.js");
  1. config-pres.jsする場所C:\Program Files\Mozilla Firefox\defaults\pref\

  2. Firefox を再起動する

  3. ルック結果

ここに画像の説明を入力

于 2019-06-30T17:31:16.327 に答える