製作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:
其次,另一個資料夾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),不過沒什麼內容。希望日後加以補充!