По сути, вы просто снова заархивируете материал (надстройки, не относящиеся к SDK). И те надстройки, которые вы связали, не являются надстройками SDK.
Однако есть некоторые подводные камни:
- Расширение могло иметь цифровую подпись, на что указывает наличие папки
META-INF
. Изменение материала, конечно, сделает подпись недействительной. Просто удалите папку, чтобы (измененное) расширение снова стало неподписанным.
- Довольно часто люди заархивируют внешнюю папку. т.е. полученный почтовый индекс (
.xpi
) затем содержит /some-addon-folder/install.rdf
вместо только /install.rdf
. Не заархивируйте внешнюю папку, а только файлы и подпапки внутри.
- Некоторые zip-инструменты создают zip-файлы, которые по существу повреждены; достаточно сломан, чтобы его отклонил Firefox, но недостаточно сломан, чтобы другие утилиты zip не сломались. Убедитесь, что почтовый индекс действителен, и, если есть сомнения, переключите используемую утилиту zip.
- Также не забывайте использовать ZIP, а не 7zip, rar, tar.gz или что-то еще. ;)
Это правильно заархивировано:
$ unzip -l http_request_logger-0.1-fx.xpi
Archive: http_request_logger-0.1-fx.xpi
Length Date Time Name
-------- ---- ---- ----
240 07-29-11 11:45 chrome.manifest
0 07-29-11 11:42 components/
1558 07-29-11 11:47 components/httpRequestLogger.js
1021 07-30-11 12:39 install.rdf
-------- -------
2819 4 files
Это неправильно заархивировано (создано с помощью пункта меню сжатия OSX):
$ unzip -l http_request_logger-0.1-fx.zip
Archive: http_request_logger-0.1-fx.zip
Length Date Time Name
-------- ---- ---- ----
0 05-16-14 01:54 http_request_logger-0.1-fx/
240 07-29-11 11:45 http_request_logger-0.1-fx/chrome.manifest
0 05-16-14 01:54 __MACOSX/
0 05-16-14 01:54 __MACOSX/http_request_logger-0.1-fx/
187 07-29-11 11:45 __MACOSX/http_request_logger-0.1-fx/._chrome.manifest
0 07-29-11 11:42 http_request_logger-0.1-fx/components/
1558 07-29-11 11:47 http_request_logger-0.1-fx/components/httpRequestLogger.js
0 05-16-14 01:54 __MACOSX/http_request_logger-0.1-fx/components/
187 07-29-11 11:47 __MACOSX/http_request_logger-0.1-fx/components/._httpRequestLogger.js
1021 07-30-11 12:39 http_request_logger-0.1-fx/install.rdf
187 07-30-11 12:39 __MACOSX/http_request_logger-0.1-fx/._install.rdf
187 05-16-14 01:54 __MACOSX/._http_request_logger-0.1-fx
-------- -------
3567 12 files
(Помимо __MACOSX
дерьма, сейчас http_request_logger-0.1-fx/install.rdf
)
Я рекомендую вам также прочитать Настройка среды разработки расширений, в частности немного о прокси-файле. ;)
Когда дело доходит до надстроек SDK (на что указывает наличие файла harness-options.json
), повторное архивирование может работать или не работать. Возможно, было бы лучше просто воспроизвести package.json и структуру каталогов на основе содержимого .xpi
и использовать инструмент SDK cfx
для создания нового XPI.
person
nmaier
schedule
15.05.2014