Categories
通風報信

用Add-on SDK來寫同一個Firefox套件

之前的文章講過了怎麼用Add-on Builder來寫套件,但是線上編輯器實在不是很順手,也沒有一個單純乾淨的測試環境,正好Firefox的Memshrink改進需要套件使用新的SDK重包,所以這次就改用Add-on SDK直接在自己的電腦上來做重新包裝的動作。

首先解開下載後的SDK檔案,依照說明的指示,在Linux的Shell移至SDK目錄底下輸入指令:
source bin/activate
就會進入開發環境,再輸入:
cfx docs就會打開文件的網頁檔,也有線上版的可以看。

接著,開始新增我們的套件:
mkdir my-addon
cd my-addon
cfx init
現在裡面就有預設的範例套件了,先來跑看看:
cfx run
這時會告訴你因為是第一次執行,所以 package.json 裡面沒有設定id,已經幫你設定了一個,要再執行一次 cfx run 才會開始執行安裝了這個套件的Firefox。

看完執行的效果後,就可以關掉它開啟的Firefox視窗。如果有任何關於套件的錯誤訊息也會在Shell裡面顯示出來,比起Builder方便許多。

將原本在Builder寫的程式複製到正確的路徑底下,再執行看看確定程式都沒有問題後,就打開 package.json 將套件的資料填一填,這裡要注意的是,如果你跟我一樣是搬移已經在AMO上架的套件過來,記得把舊的XPI套件檔解開找到裡面的install.rdf將原本的套件ID複製過來,不然傳上AMO的時候會被當作是不同的套件。

然後,產生打包的XPI檔也很簡單,就在套件目錄底下執行:
cfx xpi就得到可以安裝跟上傳至AMO的套件XPI檔案了!

另外,可以看看在文件中cfx的其他用法,其中值得一提的是,可以在 cfx run 使用 -p 參數來指定使用的個人設定檔,例如:
cfx run --profiledir="testprofile"就會在目錄底下新增一個 testprofile 設定檔資料夾,以後就可以使用它安裝Firebug之類的套件工具來幫助開發。

最後,偷偷跟你說,其實要更新SDK版本用Builder點幾下就完成了,可以更快產生使用新版SDK的XPI檔案,不過套件寫大了以後,用線上編輯器會很麻煩維護,還是搬下來自己做版本控管吧,像這個套件現在就放在Github上。

發表迴響