Как запаковать установленное расширение
Опубликовано: Бармалей · 23.01.2016 · 01:00 ••• Обновление: 07.12.2020 · 13:54 1

Как запаковать установленную тему, расширение или приложение

Под "установленными" понимаются аддоны, ранее загруженные из галереи расширений Chrome WebStore или иных источников – т.е. любые расширения, приложения или темы, полученные в виде CRX-файла и установленные в вашем профиле браузера.

Следует помнить, что при самостоятельной упаковке оригинальный ID* расширения не сохраняется!

* ID – уникальный идентификатор темы/расширения/приложения, по нему осуществляется поиск/привязка аддонов в WebStore. Этот идентификатор также необходим для корректного автоматического обновления расширения.

Существует два основных способа упаковки расширений: с помощью встроенных средств браузера и с помощью внешнего приложения. Эти способы используют графический интерфейс браузера и применяются наиболее часто. Кроме того, оперативно упаковать любое дополнение можно и с помощью специальных ключей командной строки.


1. Встроенный инструмент разработчика (DevTools)

Для упаковки любых расширений, приложений и тем можно использовать встроенный инструмент разработчика, упаковка будет доступна при включении на странице расширений (chrome://extensions/) галочки "Режим разработчика" в самом верху страницы:

После этого следует воспользоваться кнопкой "Упаковать расширение", выбрать соответствующую папку установки и подтвердить создание CRX-файла, нажав соответствующую кнопку в диалоговом окне параметров упаковки:

Будьте внимательны при выборе корневой папки расширения – в ней, как минимум, должен непосредственно находиться файл манифеста аддона (manifest.json). Если корневая папка указана неверно, процесс упаковки запущен не будет.

Строку PEM-ключа при первой упаковке следует оставить пустой, этот файл будет создан на основе хэш-кода аддона. Обязательно сохраните этот файл, если вы планируете в дальнейшем повторно упаковывать это же самое расширение, приложение или тему (например, если вы вносите какие-либо исправления в любой из файлов аддона).

Готовый CRX-файл создаётся в родительской директории, содержащей папку дополнения (на одном уровне с корневой папкой пакуемого аддона).

Ниже приведена подробная инструкцию по упаковке на примере одной из тем оформления:

Цитата:

"Если она родная, то это невозможно, а если вы устанавливали её сами из галереи расширений, то идите по этому адресу

C:\Users\ваше имя\AppData\Local\Chromium\User Data\Default\Extensions

и ищите в каждой из папок то, как выглядит ваша тема. Ну или картинку, как у вашей темы . Как нашли её, то запоминайте, как будет называться ваша папка с этой темой – что-то типа бессвязного набора английских букв (примерно вот так вот: akficmgoadaflmeeiapifgdbkalhacif ).

Далее открываем браузер и идём в установленные расширения, нажимаем на функцию "Режим разработчика", открывается три пункта, выбираем и нажимаем "Упаковка расширений", открывается окошечко с обзором, откуда надо выбрать ваше расширение. Выбираем пункт "Корневой каталог расширения", нажимаем "Обзор" и указываем путь к диску – там где у вас все расширения, т.е. тут

C:\Users\ваше имя\AppData\Local\Chromium\User Data\Default\Extensions и та папка, у которой вам нужно было запомнить название…

Вот, например, как это выглядит полностью у меня

C:\Users\моё имя\AppData\Local\Chromium\User Data\Default\Extensions\akficmgoadaflmeeiapifgdbkalhacif\0.6_0

Вторая функция – файл закрытого ключа – необязательна, она вам не нужна, далее нажимаем "ОК" .

Всё, ваше расширение, или тема, которая вам была нужна, упакована, о чём вам всплывёт уведомление в виде маленького окошка!

Находится теперь это запакованное расширение там же, где ваша тема – идёте туда и забираете свою тему и храните её где вам угодно до того случая когда она вам понадобится.

Выглядит она теперь в той папке примерно так: 1.0_0.crx.

Рядом лежит ещё один файлик – 1.0_0.pem, но он вам не понадобится в вашем случае. Этот файлик отвечает за обновления, но так как у вас это всего лишь тема, то обновляться, я так понимаю, нечему. Поэтому его можно просто удалить.

Для того, чтобы применить вашу тему – если надумаете – просто в открытом браузере перетащите этот файлик 1.0_0.crx в окно браузера, он вам предложит установить расширение. Жмёте ДА и ваша тема снова сияет и радует глаз."


Источник: Ru-Board • [веб-архив]

2. Упаковка с помощью внешнего приложения

Есть специальное приложение для разработчиков, разработанное компанией Google в 2014 году и предназначенное для "продвинутого" изучения работы расширений и приложений в браузере. Несмотря на "почтенный возраст", оно, тем не менее, по-прежнему доступно для установки из CWS – Chrome Apps & Extensions Developer Tool.

В браузере SRWare Iron версии 31 это приложение входит* в состав "дефольтных рекомендуемых", включается (и автоматически устанавливается) отдельной опцией на странице chrome://flags:

* Примечание: на текущий момент это приложение не предлагается к установке в качестве рекомендуемого и не входит в "коробочный" комплект хром-браузеров. Его основные функции в более новых версиях перенесены непосредственно в интерфейс штатной страницы управления расширениями.

Также существует "осовремененная" версия этого приложения – Advanced Extensions Control Tool (AECT), разработанная автором в 2019 году, в которой добавлены дополнительные функции, повышающие удобство работы с приложением (в частности – и процесс упаковки аддонов).

С помощью этих приложений можно упаковать любое установленное расширение или приложение (тему – нельзя). Действуем по аналогии – в окне приложения выбираем строчку нужного аддона и жмём ссылку-кнопку "Упаковать". Дальнейший процесс полностью аналогичен описанному выше (для встроенного DevTools'а).


3. Упаковка браузером с помощью ключей командной строки

Ещё один штатный метод упаковки, работает аналогично предыдущим. Включения режима разработчика при этом не требуется, графический интерфейс браузера не запускаетcя, все действия производятся в консоли.

Для упаковки этим способом применяются ключи командной строки – --pack-extension и --pack-extension-key:

chrome.exe --pack-extension="c:\myext" --pack-extension-key="c:\myext.pem"

Второй ключ необязателен и используется опционально (если PEM-файл пакуемого аддона уже есть). Как и в предыдущих случаях, готовый CRX-файл создаётся в родительской папке (на одном уровне с папкой пакуемого аддона). При наличии в параметрах ключей путей с пробелами, такие пути следует заключить в кавычки.

Этот метод можно использовать для пакетной упаковки нескольких расширений подряд (с помощью файла bat/cmd).


Обеспечение совместимости упакованного дополнения с другими версиями браузеров

Для обеспечения обратной совместимости упакованного аддона с любыми старыми версиями клиентских браузеров желательно паковать расширения в браузере версии 57 (или ниже). Это связано с различием форматов CRX-файлов, совместимых только снизу вверх (см.также: описание проблем установки – п.0).

В этом случае (упаковка в версиях до 57) ваш аддон будет упакован в формате CRX v.2 и будет совместим с любым браузером версии до 73. В "продвинутых китайцах" типа 360 Extreme Explorer или Cent-браузер этот формат "понимают" и более современные версии – 78+.

При этом следует помнить, что "классические" браузеры версий 73+ будут принимать CRX-файлы только в формате CRX v.3. Поэтому упаковку CRX-файлов для браузеров новых версий следует делать только в версиях 63+ (не ниже!).

Также следует помнить, что в оригинальном браузере Google Chrome версий 32+ (независимо от формата CRX-файла установщика) полностью запрещена установка расширений не из магазина Chrome WebStore. В этом браузере любые сторонние аддоны могут быть установлены только в режиме разработчика (т.е. только в распакованном виде).


Для самостоятельного изучения
Общие принципы Бармалей
Бармалей 23.01.2016 07.12.2020 512 0.0

Поделиться

Всего комментариев: 1
0
1 Бармалей 07.12.2020 • 15:08
..добавил ещё один штатный метод - с помощью ком.строки, для разовой или пакетной упаковки..
close