制作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
Maintainer: NEO <newpgt@gmail.com>
Author: NEO Z <newpgt@gmail.com>
Section: Games
其次,另一个文件夹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文件上传就可以了。
http://www.myrepospace.com/
http://thebigboss.org/hosting-repository-cydia/submit-your-app
或者
http://apt.178.com/
本人的源
http://cydia.myrepospace.com/newpgt/
目前只有一个测试用的deb,亲测可运行(IOS 5),不过没什么内容。希望日后加以补充!
制作CYDIA发布源的DEB文件,详解!相关推荐
- LwIP 之一 源码目录文件详解及移植说明
lwIP 是 TCP/IP 协议套件的一个小型独立实现.lwIP TCP/IP 实现的重点是减少 RAM 使用同时仍然有一个完整的 TCP. 这使得 lwIP 适合使用在具有数 10 千字节的可 ...
- DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版及制作Visual Studio C#项目模板文件详解...
关于 DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...
- linux .deb文件的解压与制作.deb包的压缩命令
.deb文件是一种Debian Linux Package 文件,属于压缩文件.我们可以自己制作.deb包然后执行dpkg -i softname.deb实现一键安装软件. 制作deb包 dpkg-d ...
- Android 8.0学习(32)---Android 8.0源码目录结构详解
Android 8.0源码目录结构详解 android的移植按如下流程: (1)android linux 内核的普通驱动移植,让内核可以在目标平台上运行起来. (2)正确挂载文件系统 ...
- red hat linux yum,Red Hat Enterprise Linux(RHEL)中yum的repo文件详解
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载 ...
- Android4.0源码目录结构详解
Android4.0源码目录结构详解 Android4.0与2.1目录差不多 alsa这块,注意external/tinyalsa下有: include/tinyalsa/asoundlib.h mi ...
- Libvirt XML文件详解(一)
Libvirt XML文件详解(一) 1 根元素 2 通用元数据( General metadata ) name uuid genid title description metadata 2 操作 ...
- linux /proc目录文件详解
Linux中/proc目录下文件详解(一) /proc文件系统下的多种文件提供的系统信息不是针对某个特定进程的,而是能够在整个系统范围的上下文中使用.可以使用的文件随系统配置的变化而变化.命令proc ...
- Maven的pom.xml文件详解------Environment Settings
转载自 Maven的pom.xml文件详解------Environment Settings Issue Management 使用的缺陷跟踪系统(Bugzilla,TestTrack,Clear ...
最新文章
- 【青少年编程】黄羽恒:翻译小工具 -- 利用百度翻译
- torch 常用函数
- 重写与重载的区别 以及 重写中super的使用
- 中国涂料树脂行业投资盈利预测及发展规模展望报告2021-2027年版
- Java Bag模型模拟
- Jzoj4764 Brothers
- dynamodb容器使用_使用DynamoDB映射器将DynamoDB项目映射到对象
- Token Based Authentication using ASP.NET Web API 2, Owin, and Identity
- 企业私有云应用之使用OZ制作openstack镜像
- 所有选手信息标准展示时,选手照片没有显示,什么原因?
- java 面试 英语自我介绍
- java 中文词性标注_使用opennlp进行词性标注
- (五十三)Credit VaR的计算
- [转]小程序登录与授权区别
- 红轴和茶轴哪个适合游戏 红轴和茶轴哪个手感好
- 软件需求工程五组工作日记——开篇:项目简介
- ubuntu卸载旧的NVIDIA驱动,安装新驱动,并安装Nvidia-docker2
- 修改管理员信息php,修改管理员_ThinkPHP_大笨熊_IT技术平台
- C++单例对象是什么?(单例模式)
- 宝藏又小众的动漫壁纸素材网站分享
热门文章
- c语言除法结果溢出怎么办,关于C ++:导致除法溢出错误(x86)
- 成语猜猜看小游戏(一)
- 职业价值观确认表? What is really important to you?
- Email之父去世:因他邮箱才有了@
- WordPress内核 模板下载源码论坛全站源码带会员下载+DUX主题
- 802.11的仿真(1)
- C# 小工具开源分享之本机IP修改器
- Red Hat Enterprise Linux (RHEL) 8.5 发布(含下载)
- 提交按钮css加样式,用CSS美化按钮(button)
- 关于Oracle的参数是游标,如何处理(mirth)