Изменить jsm в omni.ja

1316
DaveRandom

Платформа: FF17 win32

Я пытаюсь изменить модули / AddonUpdateChecker.jsm в omni.ja. Независимо от того, что я делаю, я не могу заставить FF замечать мои модификации.

Я прошел через все то, что предлагалось в разных местах на интернете:

  • каждый запуск кеша в поле зрения
  • Включенные / отключенные расширения для принудительной перезагрузки omni.ja
  • Даже пытался удалить / переустановить FF, изменив jar перед первым запуском

Я не хочу стать жертвой проблемы XY, поэтому:

То, что я действительно пытаюсь сделать, это реализовать это для автоматизированного процесса сборки для моих расширений. Да, я знаю, что есть решения для этого, но я хочу реализовать это сам, так как система сборки сильно настроена.

Сейчас я достиг точки, когда FF (в действительности) говорит, что моя подпись неверна. Я подозреваю, что это потому, что моя процедура сериализации является неправильной, и я не могу определить, где основано на документации - поэтому я хотел бы проверить сериализованную строку, которую FF создает на стороне клиента для сравнения. Эта строка создается, и подпись проверяется (через XPCOM) в modules / AddonUpdateChecker.jsm.

Итак, как я могу заставить Firefox обратить внимание на мои модификации? Или есть более простой способ просмотреть эту строку?

5

1 ответ на вопрос

7
Wladimir Palant

Current Firefox versions have a cache inside omni.ja itself. If you remove the file jsloader/resource/gre/modules/AddonUpdateChecker.jsm from omni.ja then Firefox should start looking at your modified modules/AddonUpdateChecker.jsm instead. Additionally, you want to specify -purgecaches command line flag instead of hunting down startup caches.

Side-note: it is generally helpful to set extensions.logging.enabled to true when debugging extension installation issues, this will print lots of additional information to Error Console. Of course, I don't know whether this additional information will be sufficient in your particular case.

`extensions.logging.enabled` не помогает в этом случае, он просто включает сообщение, которое говорит мне, что подпись неверна - что-то вроде того, что я ожидал, поскольку сериализованный файл потенциально занимает несколько КБ, и это очень маловероятно, что люди захотят его посмотреть, потому что большинство людей будут использовать для этого официальные инструменты Mozilla. Большое спасибо за ваш ответ. Похоже, что это решит проблему. Я опробую сегодня днем ​​и сообщу, как у меня дела. DaveRandom 11 лет назад 0
Re `-purgecaches` - я делаю это каждый раз при запуске, потому что я использую только FF для отладки расширений, но я начинаю впадать в отчаяние! DaveRandom 11 лет назад 1