I'm trying to retake an old project, an extension for Firefox for Android, I was developing. I have 2 phones, a personal one and the one of my work. In mine I have an old version of Firefox (40). It works exactly the same as it used to be. But, in the upgraded version of my work's phone (Firefox 46), I can't install the .xpi. I always see the "Blocked addon" popup with the text "Firefox prevented an add-on from installing on your device":
[1
I have the preference xpinstall.signatures.required
= false
. But, it seems not to work. I also have Android Debug enabled. I'm doing this:
#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;
In the older version of Firefox it works; in the new one, doesn't. The reason is the following:
Our first one aims to make add-on signing a little easier for developers. This API enables you to upload an XPI and get back the signed add-on if it passes all the validation checks.
And:
Firefox 48: (Pushed from Firefox 46). Release and Beta versions of Firefox for Desktop will not allow unsigned extensions to be installed, with no override. Firefox for Android will enforce add-on signing, and will retain a preference — which will be removed in a future release — to allow the user to disable signing enforcement.
But I need to be able to program with no validation: It is very stressful having to sign an extension every single time I introduce a little change (even just for checking if something works).
I already tried to install the nightly version, because it is intended for developers. I changed xpinstall.signatures.required
to false
. But, the behaviour is the same message.
So, how are we supposed to develop in this way? This is so impractical!