2014-05-15 8 views
0

고급 사용자이고 일부 프로그래머 기술이 있지만 파이어 폭스 추가 기능을 설치했으며 원본 코드에 추가 코드 줄을 추가하고 싶습니다. 하지만 난 xip 파일 만 있습니다.기존 Firefox 확장 프로그램을 다시 패키징 및/또는 수정 XPI

나는 모든 zip 유틸리티로 열 수 있음을 알고 있습니다. 그러나 내가 거기에서 뭔가를 바꿀 때 그것은 작동하지 않습니다. .js 파일을 콘텐츠 폴더에 저장합니다. 파일로 출력 기능이 있으며 파일에 저장되는 문자열을 조금 포맷하고 싶습니다.

당신이 할 수있는 질문의 시작을 언급하지합니다하지만 주요 목표와 질문이있다 : 어떻게 컴파일 또는 설치 .xpi 확장에 의 .js에 파일을 변경 사항을 적용하려면? 업그레이드 방법

부가 기능 :

url-logger

http-request-logger

답변

2

은 기본적으로 당신은 다시 물건을 압축 (비 SDK 추가 기능). 그리고 내가 추가 한 부가 기능은 SDK가 아닌 부가 기능입니다. META-INF 폴더의 존재에 의해 지시 된 바와 같이

  • 확장 디지털 서명되어 있습니다

    그러나 몇 가지 함정이있다. 물건을 수정하면 물론 서명이 무효화됩니다. 폴더를 제거하기 만하면 (수정 된) 확장 프로그램이 다시 서명되지 않습니다.

  • 사람들은 실제로 외부 폴더를 압축합니다. 나는. 결과 zip (.xpi)은 /install.rdf 대신 /some-addon-folder/install.rdf을 포함합니다. 외부 폴더, 파일 및 하위 폴더 만 압축하지 않도록하십시오.
  • 일부 zip 도구는 본질적으로 손상된 zip 파일을 생성합니다. 파이어 폭스에 의해 거부 될 정도로 부러졌지만 다른 지퍼 유틸리티가 깨지기에는 충분히 부러지지 않았다. zip이 유효한지 확인하고, 의심스러운 경우 사용하는 zip 유틸리티를 전환하십시오.
  • 7zip, rar, tar.gz 또는 그 반대로 실제로 ZIP 물건을 기억하십시오.)

이 올바르게 압축된다

$ unzip -l http_request_logger-0.1-fx.xpi 
Archive: http_request_logger-0.1-fx.xpi 
    Length  Date Time Name 
-------- ---- ---- ---- 
     240 07-29-11 11:45 chrome.manifest 
     0 07-29-11 11:42 components/ 
    1558 07-29-11 11:47 components/httpRequestLogger.js 
    1021 07-30-11 12:39 install.rdf 
--------     ------- 
    2819     4 files 

이 올바르게 압축 아니다합니다 (OSX 압축 메뉴 항목)를 사용하여 제조 : 제외 __MACOSX 쓰레기로부터 (

$ unzip -l http_request_logger-0.1-fx.zip 
Archive: http_request_logger-0.1-fx.zip 
    Length  Date Time Name 
-------- ---- ---- ---- 
     0 05-16-14 01:54 http_request_logger-0.1-fx/ 
     240 07-29-11 11:45 http_request_logger-0.1-fx/chrome.manifest 
     0 05-16-14 01:54 __MACOSX/ 
     0 05-16-14 01:54 __MACOSX/http_request_logger-0.1-fx/ 
     187 07-29-11 11:45 __MACOSX/http_request_logger-0.1-fx/._chrome.manifest 
     0 07-29-11 11:42 http_request_logger-0.1-fx/components/ 
    1558 07-29-11 11:47 http_request_logger-0.1-fx/components/httpRequestLogger.js 
     0 05-16-14 01:54 __MACOSX/http_request_logger-0.1-fx/components/ 
     187 07-29-11 11:47 __MACOSX/http_request_logger-0.1-fx/components/._httpRequestLogger.js 
    1021 07-30-11 12:39 http_request_logger-0.1-fx/install.rdf 
     187 07-30-11 12:39 __MACOSX/http_request_logger-0.1-fx/._install.rdf 
     187 05-16-14 01:54 __MACOSX/._http_request_logger-0.1-fx 
--------     ------- 
    3567     12 files 

을 지금은 http_request_logger-0.1-fx/install.rdf입니다)

나는 또한 Setting up an extension development enviroment을 읽을 것을 권장합니다. 특히 b 그 프록시 파일에 대한. ;)

SDK 추가 기능 (harness-options.json 파일이있는 것으로 표시됨)과 관련하여 재 압축이 작동하거나 작동하지 않을 수 있습니다. .xpi 내용을 기반으로 package.json 및 디렉토리 구조를 재현하고 SDK cfx 도구를 사용하여 새로운 XPI를 빌드하는 것이 더 좋을 수 있습니다.

+0

와우 맨 슈퍼 상세 답변 – Noitidart