2013-10-09 8 views
1

현재 애드온 SDK 개발 안내서의 here에 설명 된대로 .xpi 파일에 내 애드온을 패키지하기 위해 cfx xpi을 사용하고 있습니다.cfx를 사용하지 않고 Firefox SDK 부가 기능을 패키지화 할 수 있습니까?

이제 추가 기능 SDK가없는 컴퓨터에서 코드를 작성하고 싶습니다. 즉, Python이없고, cfx가 없다는 것을 의미합니다. 가능하면 명령 줄에서이 작업을 수행 할 수 있습니까?

MyAddon 폴더를 MyAddon.zip으로 압축 한 다음 MyAddon.xpi로 이름을 바꾸려고 시도했지만 Firefox에 설치하려고하면 "이 추가 기능을 사용할 수 없습니다."라는 오류 메시지가 나타납니다. 손상 되었기 때문에 설치해야합니다. "

모든 도움을 주셨습니다.

답변

3

현재 Addon SDK를 사용하려면 cfx 도구가 애드온을 빌드해야합니다. 빌드 프로세스에는 종속성 매핑, 재시작없는 추가 기능 파일을 추가하는 bootstrap.js 파일 및 Firefox를 통해로드 가능하게 만드는 파일이 추가됩니다. 단지 그것을 압축하고 그것을 xpi라고 부르는 것은 그 속임수를하지 않을 것입니다. Proposal

나는 SDK 동안 JS-only builder addon에 근무 :

부가 기능-SDK 팀은 빌드 단계를 제거, 당신은 개발을위한 파이어 폭스에 직접로드 할 수 사용하는 것과 동일한 디렉토리 구조를 만들기 위해 옵션에서 찾고있다 작업 주 몇 주 전에 본질적으로 다른 애드온을 빌드하고 설치하는 애드온을 포함합니다. 빌드 서버에서 노드를 실행할 수 있다면 아마 노드와 노드의 구성 요소를 끌어낼 수 있습니다. 다른 컴퓨터에서 사용할 수있는 것은 무엇입니까? 파이썬이 설치되지 않은 머신에서이 설정이 필요하다는 것을 무엇을 달성하려고합니까?

+0

우리는 건물 작업을위한 전용 기계를 갖추고 있으며, 일반적으로 특별한 설정이나 설치를 요청할 수 없습니다. 파이썬이 설치되지 않는다고 가정하면 실수라고 생각합니다. 귀하의 확실한 답변을 주셔서 감사합니다. 분명히 cfx가 필요할 것입니다. 배송에 SDN 코드를 추가하고 거기에서 작업하겠습니다. – BeneGal

+0

우리는 CFX가 필요하지 않기를 바랄 것입니다 (개발 디렉토리가 설치 될 것과 똑같습니다).하지만 여전히 방법이 없습니다. 왜 당신은 그 기계에 그것을 구축해야합니까, 그냥 xpi를 구축 할 수 없습니까? – jsantell

0

좋아요. 시행 착오 약 1 시간 후에 수동으로 .xpi Firefox 확장 프로그램을 만드는 방법을 알았습니다. 당신이 cfx run을 실행할 때 파이어 폭스는 모든 .xpi 위해 만들어

파일 구조는 이것이다 :

myfirefoxaddonname.zip 
    -> bootstrap.js 
    -> defaults 
     -> preferences 
       -> prefs.js NOTE: Empty by default 
    -> harness-options.json 
    -> resources 
     -> myfirefoxaddonname 
        -> data 
          -> your stuff (CSS, JS, etc.) goes here 
        -> lib 
          -> main.js 
        -> test 
    -> package.json 
    -> install.rdf 
    -> locales.json NOTE: has one line by default: {"locales": []} 
    -> locale NOTE: Empty by default 

이러한 파일 중 일부는/폴더 (예 : test 폴더) 불필요하지만이 때문에 내가 포함했다 기본 형식 Firefox .xpi 부가 기능이 필요합니다.

내가 찾은 방법은 cfx xpi을 실행 한 다음 생성 된 .xpi 파일로 이동하고 이름을 .zip으로 바꾸고 내용을보기 위해 압축을 풉니 다.