gal*_*007 7 firefox android firefox-addon firefox-addon-sdk
我正在尝试重新开发一个旧项目,这是Firefox for Android的扩展,我正在开发.我有2部电话,一部是个人电话,也是我的工作之一.在我的手机中,我有一个旧版本的Firefox(40).它的工作方式与以前完全相同.但是,在我的工作电话的升级版本(Firefox 46)中,我无法安装.xpi.我总是看到"阻止的插件"弹出窗口,其中包含"Firefox防止在您的设备上安装附加组件"的文字:
[
1
我有偏好xpinstall.signatures.required= false.但是,它似乎无法奏效.我也启用了Android Debug.我这样做:
#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;
Run Code Online (Sandbox Code Playgroud)
在旧版本的Firefox中它可以工作; 在新的,不.原因如下:
我们的第一个目标是让开发人员更轻松地进行附加签名.通过此API,您可以上传XPI并在通过所有验证检查后获取已签名的附加组件.
和:
Firefox 48 :(从Firefox 46推出).Firefox for Desktop的发行版和Beta版不允许安装未签名的扩展,没有覆盖.Firefox for Android将强制执行加载项签名,并将保留首选项(将在以后的版本中删除),以允许用户禁用签名强制执行.
但是我需要能够在没有验证的情况下进行编程:每次我引入一点变化时都必须签署一个扩展(即使只是为了检查是否有效).
我已经尝试安装每晚版本,因为它适用于开发人员.我换xpinstall.signatures.required了false.但是,行为是相同的消息.
那么,我们应该如何以这种方式发展呢?这太不切实际了!
我使用MDN 的演练示例对此进行了测试。我运行的是 Firefox 48.0 发行版。该答案假设xpinstall.signatures.required设置为falsein about:config。
file:///如果直接导航到URL,则不会安装附加组件
:
Firefox 似乎已禁止通过直接导航到file:///链接来安装未签名的扩展(我尚未测试签名的扩展。)。因此,使用adb shell am start -a android.intent.action.VIEW意图使 Firefox 导航到file:///mnt/sdcard/extentionFile.xpiURL 的方法只会弹出“阻止的加载项”对话框,而没有允许的选项,您已在问题中包含了该对话框的屏幕截图。如果您手动输入 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;
Run Code Online (Sandbox Code Playgroud)
然后,您需要在手机上选择$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
Run Code Online (Sandbox Code Playgroud)
这会导致 Firefox 打开目录 ( file:///mnt/sdcard/testing/):

单击/选择您的.xpi文件。在本例中,即view-source.xpi。
将显示“阻止的加载项”对话框。该对话框将包含“允许”安装的选项。xpinstall.whitelist.required[您可以通过设置为falsein来跳过此对话框about:config。但是,这仍然不允许您通过使用意图直接导航到文件或将其输入到 Firefox UI 来安装]:

| 归档时间: |
|
| 查看次数: |
2650 次 |
| 最近记录: |