如何正确打越狱deb包

白骆铭
2017-10-17 / 2 评论 / 2,284 阅读 / 正在检测是否收录...
前段时间做了越狱软件的一些东西,发现打出的deb包不能正确安装或是装上了直接闪退,着实让人有点蛋疼。在搜索了大量网页和做了很多尝试之后,才把这些问题一一解决。

叙述之前,我把大致的过程分为两个部分,xcode导出app文件用dpkg命令打deb包

一、Xcode导出app文件

1.进入项目的“Build Settings”,选中“Basic”和“Combined”选项卡,找到“Code Signing”,将所有的“iOS Developer”设置为“Don't Code Sign”,这里的app文件是不需要代码签名

2.进入项目的“General”,设置“Team”为“none”。这里需要注意一下,先用开发者账户(个人或者企业的)执行“Fix issue”,然后再选择“none”,因为“none”的状态下是不能去除“No identity ...”的警告

3.把真机连接上电脑,设置项目的运行方式为“Release”

4.执行“Product->Archive”,等待完成后会跳出“Organizer”管理界面,右击生成的文件,选择“Show in Finder”,查看文件的包内容,在“Products->Applications”目录下的文件就是项目的app文件

 

二、用dpkg命令打deb包

1.mac的终端是不自带dpkg命令的,需要利用“MacPorts”安装dpkg,“MacPorts”可以使用source的方法安装,详细的步骤可以到网上查询,这里就不再赘述。

 

2.新建目录结构,在桌面新建“tmp”文件夹,在tmp目录下分别新建“Applications”和“DEBIAN”文件夹

3.在“Application”目录下放入刚才导出的app文件,“DEBIAN”下放置两个文件:“control”和“postinst”,“control”文件是来描述软件的相关信息,“postinst”是用来执行安装完成后的配置工作,两个文件的示例如下:

control

Package: com.zgss.pk10
Name: 诸葛神算
Version: 0.1-1
Description: 诸葛神算·内幕科技
Section: 实用工具
Depends: firmware (>= 7.0), mobilesubstrate, cydia
Priority: optional
Architecture: iphoneos-arm
Author: 内幕科技
Homepage:
Icon: file:///Applications/pk10.app/AppIcon57x57@2x.png
Maintainer: 内幕科技

postinst

#!/bin/bash

chown -R root:wheel /Applications/pk10.app
chmod 755 /Applications/pk10.app/pk10

su -c /usr/bin/uicache mobile > /dev/null

declare -a cydia
cydia=($CYDIA)

if [[ ${CYDIA+@} ]]; then
    eval "echo 'finish:reboot' >&${cydia[0]}"
else
    echo "please respring after this"
fi
exit 0

4.使用mac的终端命令来打deb包,具体步骤如下:

a.进入“tmp”目录

cd ~/Desktop/tmp

b.删除文件夹下的所有“.DS_Store”文件

sudo find . -type f -name .DS_Store -exec rm -rf {} +

c.设置目录下的文件夹添加权限和用户组

sudo chmod -R 755 .

sudo chown -R root .

d.命令dpkg-deb打包生成

sudo dpkg-deb -Zgzip -b ~/Desktop/tmp/ ~/Desktop/pk10.deb

5.完成上面的操作之后,就能看到桌面生成的deb包了。

0

评论 (2)

取消
  1. 头像
    jjjjj
    MacOS · Google Chrome

    依照您的步驟我是用ios14.6這版本安裝deb後還是閃退

    回复
    1. 头像
      白骆铭 作者
      MacOS · Google Chrome
      @ jjjjj

      文中使用的ios版本比较旧,现在的版本估计有问题了

      回复