android — Установка неподписанных XPI в Firefox для Android версии 42 или новее" />

Установка неподписанных XPI в Firefox для Android версии 42 или новее

Я пытаюсь пересмотреть старый проект, расширение для Firefox для Android, которое я разрабатывал. У меня есть 2 телефона, личный и один из моей работы. У меня есть старая версия Firefox (40). Он работает точно так же, как и раньше. Но в обновленной версии телефона моей работы (Firefox 46) я не могу установить .xpi . Я всегда вижу всплывающее окно «Заблокированное дополнение» с текстом «Firefox запретил установку дополнения на вашем устройстве»:

[ 1

У меня есть предпочтение xpinstall.signatures.required = false. Но, похоже, не работает. У меня также включена отладка Android. Я делаю это:

#4 - This will copy the XPI to the phone SD card.
adb push $OUTPUT_DIR/$APP_NAME.xpi /sdcard/$APP_NAME.xpi;

#5 - This will start the Firefox App with the XPI to install
adb shell am start -a android.intent.action.VIEW -c android.intent.category.DEFAULT -d file:///mnt/sdcard/$APP_NAME.xpi -n $ANDROID_APP_ID/.App;

В старой версии Firefox это работает; в новом нет. Причина в следующем:

  

Наша первая задача - сделать подпись дополнений немного проще для   Разработчики. Этот API позволяет загружать XPI и возвращать   подписанное дополнение, если оно проходит все проверки правильности.

и

  

Firefox 48: (выдвинуто из Firefox 46). Релиз и бета-версии   Firefox для рабочего стола не разрешает неподписанным расширениям   установлен, без переопределения. Firefox для Android будет использовать надстройку   подписи, и сохранит предпочтение, которое будет удалено в   будущий выпуск - чтобы разрешить пользователю отключать принудительное использование подписи.

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

Я уже пытался установить ночную версию, потому что она предназначена для разработчиков. Я изменил xpinstall.signatures.required на false. Но поведение - это то же сообщение.

Итак, как мы должны развиваться таким образом? Это так непрактично!

7 голосов | спросил gal007 17 MaramThu, 17 Mar 2016 02:48:04 +03002016-03-17T02:48:04+03:0002 2016, 02:48:04

1 ответ


0

Я проверил это на примере пошагового руководства из MDN , Я работал под управлением Firefox 48.0, выпускной версии. В этом ответе предполагается, что для xpinstall.signatures.required установлено значение false в about:config.

Надстройка не устанавливается, если перейти непосредственно к file:/// URL:
Похоже, что Firefox отключил установку неподписанных расширений, напрямую перейдя по ссылке file:/// (я еще не проверял подписанные расширения.). Таким образом, используя метод adb shell am start -a android.intent.action.VIEW с намерением заставить Firefox перейти к file:///mnt/sdcard/extentionFile.xpi URL вызовет только диалоговое окно «Заблокированная надстройка», без возможности разрешить, из которого вы включили снимок экрана в свой вопрос. Это диалоговое окно является тем же, если вы вручную вводите URL.

Вы можете установить дополнение без подписи:

Вы можете загрузить неподписанное расширение, перейдя в Firefox к каталогу, содержащему файл .xpi (например, file: ///mnt /sdcard /), затем нажмите /коснитесь файла.

Таким образом, для adb вы захотите, чтобы он открывал каталог, а не пытался заставить Firefox открывать файл напрямую. Команда adb, которую вы захотите использовать в зависимости от вопроса, будет:

adb shell am start -a android.intent.action.VIEW -c android.intent.category.DEFAULT -d file:///mnt/sdcard/ -n $ANDROID_APP_ID/.App;

На вашем телефоне вам нужно будет выбрать файл $APP_NAME.xpi. Вам будет представлен один или несколько экранов, на которых вы можете нажать, чтобы установить дополнение.

Это экраны, которые я сделал при тестировании. В противном случае я использовал /mnt/sdcard/testing/ вместо /mnt/sdcard/.

Сначала я использовал adb для перехода к каталогу в Firefox (это для удобства, вы можете перейти к нему через телефон пользовательский интерфейс) с помощью команды:

adb" shell am start -a android.intent.action.VIEW -c android.intent.category.DEFAULT -d file:///mnt/sdcard/testing/ -n org.mozilla.firefox/.App

При этом Firefox открывает каталог ( file:///mnt/sdcard/testing/ ):

Нажмите /выберите свой файл .xpi . В данном случае это view-source.xpi .

Откроется диалоговое окно «Заблокированные надстройки». В этом диалоге будет опция «Разрешить» установку. [Вы можете пропустить это диалоговое окно, установив для xpinstall.whitelist.required значение false в about:config. Но это по-прежнему не позволит вам выполнить установку путем прямой навигации по файлу с помощью намерения или ввода его в пользовательский интерфейс Firefox]:

Затем появится диалоговое окно с вопросом, хотите ли вы установить непроверенную надстройку:

После этого выполняется установка:

ответил Makyen 6 PM00000010000005631 2016, 13:25:56

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132