如何将app打包成deb包供越狱iphone在cydia源上下载安装
##修改编译选项重新打包
在工程的Build Settings -> Code Signing -> Code Signing Identity
选项, 将 Debug 和 Release 下的 Any iOS SDK
都设置为 Don't Code Sign
然后在重新Archive
##准备目录
创建一个目录用来打包,如tmp,tmp下建DEBIAN和Applications两个目录, DEBIAN下建一个文本文件control
tmp目录结构如下:
-DEBIAN
---control
-Applications
control文件就是打包时的配置文件,它也会作为deb包的配置被打包到包中,
文件例子:
Package: com.sharedream.game
Name: 游戏测试
Version: 0.1-1
Description: 游戏测试游戏,开发中...
Section: 游戏
Depends: firmware (>= 4.3)
Priority: optional
Architecture: iphoneos-arm
Author: liangwei <http://weibo.com/iamliangwei>
Homepage: http://weibo.com/iamliangwei
Icon: file:///Applications/game.app/Icon.png
Maintainer: liangwei <http://weibo.com/iamliangwei>
然后将xcode打包出来的.app文件整个拷贝到Applications目录下,
结构如下:
-DEBIAN
---control
-Applications
---game.app
##打包
退出至tmp的上层目录
dpkg-deb -b tmp game.deb
看到如下几行就是打包完成了.
warning, `com.sull.sample/DEBIAN/control' contains user-defined field `Name'
warning, `com.sull.sample/DEBIAN/control' contains user-defined field `Author'
warning, `com.sull.sample/DEBIAN/control' contains user-defined field `Sponsor'
dpkg-deb: ignoring 3 warnings about the control file(s)
拷贝到cydia源中, 重新扫描包生成Packages列表文件, 并压缩成Packages.bz2就可以啦
dpkg-scanpackages -m debs >Packages
bzip2 -zkf Packages
“contains ununderstood data member data.tar.xz” 的安装错误
是因为自从1.17.0版本的dpkg-deb开始, 默认使用xz格式来压缩data.tar文件 但是,cydia在ios提供的dpkg是1.14版本, 还没有支持xz这种压缩格式 所以我们需要设置”-Zgzip”参数给dpkg-deb 进行打包, 类似命令:
dpkg-deb -Zgzip -b tmp game.deb