Как заставить crx xpi генерировать совместимый с Firefox 12.0 .xpi

У меня есть дополнение для Firefox, я написал его с помощью конструктора дополнений, оно работало в Firefox 11.0. Я скопировал файлы в набор каталогов на своем жестком диске и использовал cfx xpi из SDK надстройки Firefox 1.6.1 для создания .xpi, и это сработало в Firefox 11.0. Я отредактировал свой main.js в конструкторе дополнений и загрузил .xpi, и он работает в Firefox 12.0. Я изменил main.js на своем жестком диске, запустил cfx xpi, а затем, когда я попытался загрузить полученный .xpi, он сказал, что не может установить, потому что он несовместим с Firefox 12.0.

Как я могу заставить это работать?


person Robert Louis Murphy    schedule 27.04.2012    source источник


Ответы (2)


По какой-то причине Add-on SDK 1.6 использует следующие параметры совместимости:

<em:minVersion>10.0</em:minVersion>
<em:maxVersion>12.0a2</em:maxVersion> 

Таким образом, надстройки, которые он производит по умолчанию, будут совместимы только с альфа-версией Firefox 12, но не с финальной версией. Вам следует воспользоваться советом из документации и отредактируйте python-lib/cuddlefish/app-extension/install.rdf. Имеет смысл использовать 14.* вместо maxVersion, потому что addons.mozilla.org уже указывает его как действительную версию.

Обновление. Текущие версии Add-on SDK имеют более разумные диапазоны совместимости. Однако, если вам нужно их изменить — начиная с Add-on SDK 1.12, файл можно найти в разделе app-extension/install.rdf (текущая документация).

person Wladimir Palant    schedule 27.04.2012
comment
@RobertLouisMurphy: Вы проверили maxVersion в install.rdf внутри сгенерированного XPI-файла? Это обычный ZIP-архив, поэтому вы сможете открыть его, переименовав в foo.zip. - person Wladimir Palant; 30.04.2012
comment
Ага, проверил, с 12.0, 12.*, 13.*, 14.* не работает, но .xpi из cfx xpi работает, .xpi из cfx xpi --update-link multiculturalyp.com/multiculturalyp.xpi --update-url multiculturalyp.com/multiculturalyp.update.rdf не работает. - person Robert Louis Murphy; 30.04.2012
comment
@RobertLouisMurphy: Вам, вероятно, нужно очистить кеш — Firefox запросит multiculturalyp.com/multiculturalyp.update. rdf для получения информации о совместимости обновлений. Я предполагаю, что в вашем кеше браузера все еще есть версия этого файла с надписью <em:maxVersion>12.0a2</em:maxVersion>. - person Wladimir Palant; 30.04.2012
comment
Пробовал очищать кеш, не помогло. Вот что я пытаюсь сделать: создать .xpi, затем загрузить его с жесткого диска на вкладке «Диспетчер надстроек». - person Robert Louis Murphy; 30.04.2012
comment
Небольшое обновление, так как это полустарый пост: в текущей версии (1.12) файл install.rdf находится в папке app-extension/install.rdf. - person Christian Smorra; 17.12.2012

Возможно, слишком поздно, но полный документ о min/maxVersion сгенерированного xpi и их изменении здесь.

person Ali Shakiba    schedule 30.04.2013