1. 程式人生 > >製作CYDIA釋出源的DEB檔案,詳解!

製作CYDIA釋出源的DEB檔案,詳解!

首先需要一個可以編輯和壓制的環境,Ubuntu/Debian 是 deb 檔案系統的原生系統,在相容性和處理效能上最好。

如果你沒有Linux Debian或Ubuntu系統的機器,不要緊,可以隨時用VMware Station或VirtualBox虛擬機器來安裝一個。我用的Ubuntu 12.0.4。全新系統完全支援壓制deb,不需要額外安裝任何指令碼或外掛!

先分析一下deb檔案包的格式,通常一個deb檔案未打包之前的,當作一個zip檔案看待,跟目錄有如下:

+- MyProgram

   +- Applications

   |   +- MyProgram.app

   |   |    +- Info.plist

   |   |    +- MyProgram

   |   |    +- icon.png

   +- DEBIAN

       +- control

其中,control檔案可視為一個沒有後綴的UTF-8,Unix編碼,Unix/Linux換行符(LF)的一個文字檔案,可用寫字版進行編輯,在Ubuntu中直接雙擊就可進行編輯了!而其所在資料夾名字最好一字不留的大寫,以免出現不必要的錯誤!

以下是control檔案的示範:

Package: com.myrepospace.newpgt.MyProgram
Name: MyProgram
Version: 1.0.1.7
Architecture: iphoneos-arm
Description: nothing fucking really
Homepage:

 http://www.google.com

其次,另一個資料夾Applications,其實這個是指定在iPhone的安裝路徑,對於App來說就是這個路徑了,詳看iPhone的檔案目錄。

而其中的MyProgram.app這個是在XCODE裡面copy出來的一個,當你寫完一個程式,執行成功後,在product裡面就可以看見,點選show in folder就可以找到了,這個.app檔案裡是多於三個文件的,只要完全copy就對了!

另外,還需要加上一個icon.png來作為該程式的圖示。需要的話!

這樣,基本上就夠成了deb的所有文件了!

但是在打包之前,還需要賦予其所有文件一個在iPhone上的可以執行的足夠許可權,沒有足夠的許可權在iPhone上是無法執行的,例如0755。

例如把這個檔案建立在Documents目錄底下的MyProgram子資料夾裡。

開啟一個終端,

sudo chmod -R 0755 ~/Documents/MyProgram/Applications/MyProgram.app

需要輸入密碼。

結束後你會發現MyProgram.app的資料夾圖示上多了一個鎖,這是許可權設定成功的。

這樣就賦予了許可權了,還需要給整個資料夾設定使用者組

sudo chown root:admin ~/Documents/MyProgram

然後就是打包了

sudo dpkg-deb –b ~/Documents/MyProgram

其中可能會出現如下的警告,不影響的,據說是版本的問題!

warning, `MyProgram/DEBIAN/control' contains user-defined field `Name' warning, `MyProgram/DEBIAN/control' contains user-defined field `Homepage' warning, `MyProgram/DEBIAN/control' contains user-defined field `Author' warning,

好了,打包完後你會發現Documents目錄下多了一個MyProgram.deb的檔案,這個就可以進行安裝了。

還需要找個伺服器給上傳,讓別人一起分些。下面是幾個免費的源伺服器,註冊一個賬號,再把deb檔案上傳就可以了。

或者

本人的源

目前只有一個測試用的deb,親測可執行(IOS 5),不過沒什麼內容。希望日後加以補充!