分享

『WEIP技术组』从零开始搭建Cydia软件源+制作deb安装包【08/11更新】

 上海_爱收集 2017-02-13


下载 PDF 格式文档: http://app./files/how_to_host_cydia_repo.pdf
本帖中任何涉及文本编辑的内容,必须保证文本为UTF-8,Unix编码,Unix/Linux换行符(LF)。
Linux系统下默认就是符合标准的,Mac OS X下可能需要调整编码,iPhone OS下编辑取决于软件,WinSCP自带的编辑器是符合规范的,但在默认设置下,如果文本中有中文,那么文本格式就不是UTF-8,而是GB2312。

Windows下记事本/写字板等文件编辑器,默认保存格式都是ANSI+Windows编码,所以需要转换编码。可以使用UltraEdit之类的工具,我个人觉得Visual Studio的编辑器也不错,在高级保存选项中设置一下就可以了。

一楼:如何搭建Cydia软件源
二楼:如何制作deb安装文件(点击跳转)



Cydia中的软件源地址保存在 /etc/apt/sources.list.d/ 目录下,分为两种:
1. 以软件包形式安装的软件源,如Cydia默认的软件源,Modmyi、BigBoss等,该类软件源是以独立的.list文件记录软件源地址。
2. 由用户在Cydia里输入地址添加的软件源,该类软件源全部保存在 cydia.list中。

以上两种形式的软件源本质没有差别,但只软件源的文件存放位置上是有不同的。
以Saurik自己的软件源为例。打开 saurik.list文件, 可以看到有以下内容 (以#开头的行属于注释,没有实际用途)
deb http://apt./ tangelo-3.7 main


那么,软件源的 Release 文件的地址是 http://apt./dists/tangelo-3.7/Release
Cydia就是通过或许Release文件进而检测软件源的存在,然后再下载记录软件包相关信息的 Packages 文件。

而对于在Cydia中输入软件源地址进行添加的这种源,方法有些不同。因为默认情况下,输入地址以后,Cydia会认为Release文件存放于输入的地址所在的目录下。在list文件中的记录信息为:
并不会继续往子目录里检测Release文件。

因此,搭建Cydia软件源首先需要配置服务器上相关目录和文件的存放位置。

取决于软件源的添加方式,文件/目录的路径设置可以分为以下两种情况:

1.  只公布软件源的地址,让用户手动输入地址来添加。这种方式的文件/目录设置最为简单。
以威锋源为例,威锋源的地址为http://app./cydia
那么在郁闷app.下,存在目录cydia。目录cydia即使软件源所在的目录。
将文件Release放置在cydia目录下即完成了软件源的搭建。
要注意,搭建软件源,必须保证至少有Release和Packages两个文件。

2. 以软件包的形式安装,即直接在 /etc/apt/source.list.d/ 目录以文件的形式添加,那么这个就没有什么固定的位置了。
基本上仿照Saurik和BigBoss的list文件的格式即可。
list文件格式:
  1. # do not edit this file to add your own custom sources
  2. # this file is subject to be upgraded as part of a package
  3. # either add your own .list file to /etc/apt/sources.list.d
  4. # or add your entry to the global /etc/apt/sources.list file
  5. deb 软件源地址 项目名 类型
复制代码

文件名任意

其中,Release文件应放置于 软件源地址/项目名/ 这个目录下,Packages文件放置位置由Release文件来决定(详情见后文)。

之前提到过,搭建软件源必须要有Release和Packages两个文件。前者的作用是记录软件源本身的相关信息,而后者的作用则是记录具体软件包的存放位置和安装信息等数据。

以下是Release文件的格式:
Origin: BigBoss
Label: BigBoss
Suite: stable
Version: 1.0
Codename: BigBoss
Support: http://cydia./support/*
Architectures: darwin-arm iphoneos-arm
Components: main
Description: Apps & Themes! We host your apps. Email me.
MD5Sum:
be8806290d5904cdf45b542706f6a3ad 165020 main/binary-darwin-arm/Packages
  03026ac993187b0eecae50466f64fb3c 35049 main/binary-darwin-arm/Packages.gz
  93091f5ca485e066d5fc32ca1327830c 3031061 main/binary-iphoneos-arm/Packages
  d7aec18dee5b627339b77a9d91e3f92f 368222 main/binary-iphoneos-arm/Packages.bz2

其中红字部分是必填内容,紫色部分是可选内容。

每项的作用:

必须
Origin: 软件源名称,可以使用中文(Cydia的软件源列表中显示的标题)
Label:  同上,也可以使用中文
Suite: 软件源的类型,比如正式源,测试源等,可以分别用stable, beta, unstable等来表示,一般填stable就可以了
Version: 版本号,这个其实不重要,随便填,一般都是写1.0
Codename: 代码代号,比如BigBoss的就写BigBoss,威锋的就写WeiPhone,也没什么限制,只能用英文
Architectures: 结构。iPhone平台统一写iphoneos-arm
Components: main
Description: 软件介绍,可以使用中文和html代码,具体能使用哪些代码在下面会介绍。
可选
Support: 支持,没什么作用,除非特别需要,否则可以不要这个。
MD5Sum: 不是必须的,但如果Packages文件位置不与Release文件在同一目录下,则必须有此项。另外,如果需要签名Release文件,也必须有这个。关于MD5Sum的格式,在下文也会介绍。


Description格式
显示在Cydia中每个软件页面最下方。
不能直接换行,如果要实现显示换行显示,可以使用<br>代码。
要加粗显示,可以使用<strong></strong>代码
可以使用html代码设置字体颜色。
不能使用超链接代码。

代码:Description: WeiPhone-威锋网为您提供iPhone所需软件/补丁。<br><br>联系我们: <strong>weip.com@ gmail.com</strong>
实际显示效果如下:


MD5Sum格式
MD5Sum是用来记录Packages即相关文件的文件大小,存放路径和MD5值。

MD5Sum: 之后另起一行,开头要空一格(论坛里用quote或code代码之后都不显示开头的空格)

每行格式是:
空格+文件MD5值+空格+文件大小(以字节为单位)+文件路径 (全部没有+)

而文件路径的格式则有文件存放位置来决定。

如果是没有设置Release文件的路径,那么Release和Packages同在根目录,则路径为 Packages,直接就是文件名,没有其它路径。

如果在之前设置了Release文件的路径,如Saurik和BigBoss,那么Packages 的路径为 main/binary-iphoneos-arm/Packages,起始文件夹,即main,要与Release文件同在一个目录下。main和binary-iphoneos-arm要与Releases中的对应信息相匹配。

对于Packages.gz和Packages.bz2,格式相同,也记得要另起一行。

因此,Packages文件的保存位置就是 软件源地址/dists/main/Codename(与Release文件中一致)/main/binary-iphoneos-arm下。


Release文件的示例可以参看以下几个地址:
http://app./cydia/Release
http://apt./dists/tangelo-3.7/Release
http://apt.bigboss./repofiles/cydia/dists/stable/Release




以下是生成Packages文件的方法:
Packages文件格式
  1. Package: 3proxy
  2. Version: 0.5.3k-2
  3. Architecture: iphoneos-arm
  4. Maintainer: Jay Freeman (saurik) <saurik@>
  5. Installed-Size: 1208
  6. Filename: debs/3proxy_0.5.3k-2_iphoneos-arm.deb
  7. Size: 416318
  8. MD5sum: f84cb6764a9df30ab326c17f51de15fd
  9. Section: Networking
  10. Priority: optional
  11. Homepage: http:///download/
  12. Description: tiny free proxy server
  13. Name: 3proxy
  14. Depiction: http://cydia./info/3proxy/
  15. Tag: purpose::daemon, role::hacker
复制代码


Packages实质上是deb文件的control信息集合,另外多了deb文件本身的信息。(control文件是记录软件包本身的信息,但没有deb文件本身)

多出的deb文件信息为:
    [li]Filename(deb文件位置与文件名)[/li][li]Size(deb文件大小,字节为单位)[/li][li]MD5sum(deb文件MD5值)[/li]

要保证Cydia能正确获取deb的相关数据,除了以上3个deb文件信息以为,还必须保证至少有以下两项:
    [li]Package(软件标识符,相当于***号码,用于识别唯一的软件)[/li][li]Version(软件版本号)[/li]


这里重点关注的是Filename。Filename项决定了在服务器上deb文件的存放位置。如果没有上级目录,即deb文件和Packages文件处于同一目录,那么只需要一个单独的文件名就可以了,不需要加上目录名,即xxxx.deb。但这样在软件数量多的时候会导致管理上的混乱。
假设deb文件存放在debs目录下,那么Filename就应该是 debs/xxx.deb 这样的格式。


其余项会在二楼deb制作教程中介绍。


一个软件包的全部信息在Packages文件中是以连续的一段存在,每一行是不同的信息。不同软件之间以空行做分隔。

如何生成Packages文件

方法一:

环境:任何支持dpkg命令的unix系统

工具:dpkg及相关组件。
    [li]iPhone OS(已越狱):自带dpkg-deb命令,无dpkg-scanpackages命令[/li]
    [li]Debian/Ubuntu:自带dpkg-deb和dpkg-scanpackages命令[/li]
    [li]Fedora: 无dpkg相关命令[/li]
    [li]Mac OS X:无任何dpkg相关命令[/li]
    [li]Windows:非unix系统,无dpkg相关命令[/li]



以上系统中,Fedora不支持dpkg,也无法通过安装系统组件来支持dpkg,因此Fedora系统不能用于生成Packages文件。

而对于Mac OS X系统,本身虽然不支持dpkg,但可以通过安装一个叫 Fink 的软件来获得dpkg命令。
Fink 下载页面:http://www./download/
如何安装请见官网说明。

对于Windows系统,可以通过安装 Cygwin + dpkg 来获取dpkg命令。
Cygwin下载地址: http://www./setup.exe
dpkg命令可以直接在Cygwin中获取。
但个人不推荐在Windows下使用dpkg,因为Cygwin体积很大,与其安装这个,还不如直接安装个Ubuntu来的简单。


各个系统下生成Packages的方法基本一样。

最简单的方法是利用dpkg-scanpackages命令来制作Packages文件。

iPhone OS 不适用(因为没有这个命令)


    [li]将需要发布的deb文件放在一个目录,比如说debs下[/li]
    [li]命令行里进入到debs目录的上级目录[/li]
    [li]执行命令
    1. dpkg-scanpackages debs > Packages
    复制代码
    ,其中debs为deb存放目录。运行该命令可能需要root权限,可以使用root帐户登录,login root 或 su root 或使用sudo
    [/li][li]Packages存放于当前目录[/li]


如图所示


如果指定的文件夹不存在,则提示  dpkg-scanpackages: error: Binary dir ebs not found
如果在指定的文件夹内没有deb文件,则提示 Wrote 0 entries to output Packages file.

注意:Debian/Ubuntu系统下的dpkg-scanpackages命令不会输出Name,Author,Sponsor,Depiction等信息不会自动添加进去,所以需要手动加入这些数据。Mac OS X下无此问题。

以dpkg-scanpackages命令来生成Packages文件有一个很大的限制,就是必须保留全部要发布的和已经发布的deb文件,在deb数量多的情况下会浪费大量磁盘空间。

因此可以使用改进命令:
  1. dpkg-scanpackages debs >> Packages
复制代码
,这样不会每次都重新生成Packages文件,而是将debs目录下的deb信息添加到已有的Packages文件末尾。在新增软件的时候没什么问题,但如果是软件更新,那么就会出现重复条目的问题,这时候需要手动删除旧的软件包信息。

方法二

上面的方法里也提到过,可以直接编辑Packages文件,因此用文本编辑器将相关数据写入Packages也是可以的,只是这样工作量会比较大,但这种方法没有系统的限制,任何系统下,不管有没有dpkg相关命令都可以使用。格式也是一样的,每项之间只要把Packages放在第一个就可以了,其余项没有顺序要求。

由于绝大部分数据可以从control里直接复制,需要自己获取的就只有Filename,Size和MD5sum。

在Unix系统下,包括Mac OS X和Linux,以及iPhone OS,获取文件大小可以使用命令 ls -l ;获取MD5值可以使用命令 md5sum

另外,在Windows下要解包deb文件可以使用7-zip,control 文件位于 control.tar.gz 下

方法三 (2010/03/23更新scandebs脚本)

生成Packages和Release文件只是最基础的步骤,实际还需要压缩Packages文件,有时候还需要签名Release文件,为了简化操作,我自己写了一个脚本,具有以下功能:

    [li]自动从服务器上获取 Packages 文件,不需要每次都事先准备 [/li]
    [li]自动生成Release文件 [/li]
    [li]自动生成Packages,Packages.bz2和Packages.gz [/li]
    [li]在生成Packages文件之后无需保留deb文件 [/li]
    [li]保留control里的全部信息 [/li]
    [li]不会出现重复条目[/li]
    [li]自动签名Release文件[/li]


http://app./files/scandebs.tar.gz

更新记录 (8/11 v1.3):
        1. 修正grep命令精确匹配问题
        2. 若不存在debs目录或debs目录下无deb文件,退出
        3. 现在可以在Linux和BSD(iPhone和Mac)系统下使用了
        4. 其它优化

更新记录 (5/13 v1.2):
        1. 针对mac系统下无md5sum命令的问题,用openssl md5 FILE来获取文件MD5值
        2. 规范control文件格式(强制将Package项放在第一行)
        3. 完全自动模式,无需用户在签名Release时输入密码(需自行修改一下脚本,方法见下文)

更新记录 (3/23 v1.1):
        1. 修正了Release中Packages.gz项的拼写错误
        2. 增加参数功能,可以显示帮助,版本号,自选是否签名Release
        3. 每次生成Packages时会按Package标识排序


使用之前需要先修改下脚本(只需修改一次即可)【因为更新过,所以图片所示的行数已不匹配了,但是内容基本还是一样的。】
    [li]第46行,将wget后的地址改为自己源的Packages的地址

    另外,因为iPhone OS本身没有wget这个命令,可以去Cydia安装一个wget。使用此命令需要联网,否则请事先准备好Packages文件。[/li]
    [li]第132,136,140这三行,将Packages,Packages.bz2和Packages.gz根据需要自己修改(如果需要指定这几个文件的存放位置)
    [/li]
    [li]第151-158行,引号内的内容根据需要自己来修改(此部分用于生成Release文件)  
    [/li]
    [li]第166行,引号内的内容修改为自己的私匙的用户名和密码  
    [/li]
    [li]Ubuntu 用户请注意Ubuntu下的 GPG 默认开启了use-agent功能,所以在签名Release的时候会弹出一个提示框,而这个提示框根本就没用,所以要禁用。[/li]
    [li]禁用方法:打开 ~/.gnupg/gpg.conf (~表示当前用户)或者直接用命令
    1. gedit ~/.gnupg/gpg.conf
    复制代码
    搜索 use-agent,将其注释掉(即修改为 #use-agent)[/li]



使用方法:
    [li]将scandebs文件放置在任意位置[/li]
    [li]准备debs文件夹,需在scandebs同级目录下[/li]
    [li]将要更新的deb文件放置在debs目录下[/li]
    [li]【可选】将Packages文件放置在scandebs同级目录下(如果需要修改Packages文件中的已有数据)[/li]
    [li]以命令 sh scandebs + 参数 来执行脚本;或 将文件属性设为0755,命令 chmod 0755 scandebs,之后可以直接使用命令 ./scandebs + 参数[/li]
    [li]【可选】如果提示要你输入签名Release文件的密码,输入之[/li]
    [li]得到Packages,Packages.bz2,Packages.gz,Release和Release.gpg【可选】这5或4个文件[/li]

显示帮助
  1. ./scandebs -h
  2. ./scandebs --help
复制代码

显示版本号
  1. ./scandebs -v
  2. ./scandebs --version
复制代码

不签名Release(无参数)
  1. ./scandebs
复制代码

使用签名Release功能
  1. ./scandebs -s
  2. ./scandebs --sign
复制代码


手动修改Packages注意事项
前面说过,Packages文件可以手动编辑,有时候仅仅需要更改一些字段的内容,如果因为这个要重新打包deb,不一定合算,因此手动编辑Packages可以省下一些工作量。以下是一些注意事项:
    [li]以下字段不可修改:Package,Version,Size,MD5Sum,Depends,Pre-Depends,Provides,Conflicts,Replaces[/li]
    [li]其余字段可以任意修改,无需与deb里的control一致,因为Cydia本身不是读取的control的数据,而是从Packages中获取数据。[/li]
    [li]修改字段以后,如果以dpkg-scanpackages重新生成Packages,那么修改过的部分会被还原成control里的原始数据。[/li]




签名Release的方法
    [li]获取用于签名的GPG密匙(方法见下文)[/li][li]运行命令
    1. gpg -abs -r "HuangRui" -o Release.gpg Release
    复制代码
    其中引号内的字符串为用于签名的密匙的用户名(用于区分不同的签名密匙)[/li][li]输入密码[/li][li]完成[/li]


为什么要签名Release
虽然不签名Release文件也没什么大的问题,但是签名Release有以下几个用途:
    [li]解决Cydia刷新出现的  Wrong language code zh-Hans 或 Wrong language code zh-Hant  的问题(当然如果别的源有这个问题的话还是会报错)[/li]
    [li]所有源内的数据均经过验证,确保安全(见图)
    [/li]

    上传至服务器

      [li]将Packages文件压缩为Packages.bz2(压缩格式 bzip2)和Packages.gz(压缩格式:gz) (如果是用的我写的脚本则可省略自己压缩的这一部)[/li]
      [li]修改Release文件(主要是MD5值和文件大小)[/li]
      [li]【可选】签名Release文件,生成Release.gpg[/li]
      [li]将Release,Release.gpg,Packages,Packages.bz2和Packages.gz以及要更新的deb文件上传到服务器指定位置。[/li]
      [li]以上所有文件的属性需设为0755(在ftp上设置)[/li]

    用于签名Release的密匙
    生成密匙
    可以看看这个页面 http://keyring./creating-key.html

    生成密匙的操作是在命令行下完成,其中还需要有人机交互,所以WinSCP的命令行是不能用的,如果需要使用iPhone来生成密匙,请使用Putty或者其它SSH终端工具来连接。

    运行命令
    1. gpg --gen-key
    复制代码
    提示
    Please select what kind of key you want:
       (1) DSA and Elgamal (default)
       (2) DSA (sign only)
       (5) RSA (sign only)
    Your selection?
    一般就是1,默认

    回车后
    RSA keys may be between 1024 and 4096 bits long.
    What keysize do you want? (2048)
    输入1024~4096之间的一个数值,数值越大,加密强度越高,但每次加密和解密需要的时间更多。

    我这里输入的是2048
    Requested keysize is 2048 bits

    Please specify how long the key should be valid.
             0 = key does not expire
            = key expires in n days
          w = key expires in n weeks
          m = key expires in n months
          y = key expires in n years
    Key is valid for? (0)
    Key does not expire at all
    Is this correct? (y/N) y

    密匙有效时间,一般选0,不会过期。

    问你确认,输入y+回车(小写y,如果要重新做则是大写N)

    Real name:

    输入该密匙所有者的名称,例如 WEIP Tech Team

    Email address:

    密匙所有者邮件地址,自己输入

    Comment:

    注释,怕分不清楚的话可以加点内容进去
    You are using the `utf-8′ character set.
    You selected this USER-ID:
        “WEIP Tech Team <weip.com@gmail,com>

    继续
    Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?

    上面输错的话,名字错了就输入N,加上注释就输入C,邮件错误就输入E,不保存退出输入Q,确定输入O
    You need a Passphrase to protect your secret key.

    设置密码,该密码在每次使用加密时都要使用,必须牢记。输入时不会明文显示,回车后会要你再输一遍以匹配。

    设完密码之后就自动执行了。

    注意,在结果里面有一句
    gpg: key 0A02728F marked as ultimately trusted
    public and secret key created and signed.

    这串字符就是所谓的密匙标识了

    如果需要为这个密匙添加另外的使用者,可以用以下命令
    1. gpg --edit-key 0x0A02728F
    复制代码

    密匙前面要加上数字0和字母x

    command> 后输入
    1. adduid
    复制代码
    之后的操作跟前面的一样,不过在要输密码的时候只是要验证身份,不是创建密码。

    最后在command>后输入
    1. save
    复制代码

    假设创建了两个用户,A和B,原本是A拥有最高权限,要改为B拥有最高权限

    执行以下命令:
    1. gpg --edit-key 0x0A02728F
    复制代码

    command> 后输入
    1. uid 2
    复制代码

    然后输入
    1. Command> primary
    复制代码

    输入密码后在command>后输入
    1. save
    复制代码

    经过以上操作就成功生成了一个可以用于签名的密匙。

    导出公匙
    用于加密/签名的是刚刚申请到的私人密匙(Private Key),而要发布的是公匙(Public Key)
    运行命令
    1. gpg --export 0A02728F > weiphone-keyring.gpg
    复制代码
    文件名自己决定
    之后将生成的公匙发布就可以了。
    导入公匙
    需要导入公匙的是软件源的用户,下载公匙文件以后,让用户自己运行命令
    1. apt-key add weiphone-keyring.gpg
    复制代码
    导出私人密匙
    有时候软件源不是一个人在维护,如果是多个人维护的话可能需要导出私人密匙以共其他人加密/签名。
    运行命令
    1. gpg --export-secret-key -a "User Name" > private.key
    复制代码
    User Name是自己在生成密匙的时候输入的用户名,最后生成的文件,文件名随意,但切记,这个密匙不要泄漏出去
    导入私人密匙
    得到私人密匙之后就是导入了,运行命令
    1. gpg --allow-secret-key-import --import private.key
    复制代码
    密匙管理
    查看公匙列表
    1. apt-key list
    复制代码
    1. gpg --list-keys
    复制代码

    当密匙不再使用时,可以删除密匙。
    删除公匙
    1. apt-key del 0A02728F
    复制代码
    1. gpg --delete-key "User Name"
    复制代码

    查看私人密匙列表
    1. gpg --list-secret-keys
    复制代码

    删除私人密匙
    1. gpg --delete-secret-key "User Name"
    复制代码

    关于GPG密匙的更多命令,可以看看这个网页(英文)http://irtfweb.ifa./~lockhart/gpg/gpg-cs.html

    关于公匙和私匙的介绍:http://www.hudong.com/wiki/

    关于源的搭建,也可以看看Saurik的文章 http://www./id/7


    最后再附送点其它东西。

    要在Cydia中显示源的图标或者分类图标,只要将图标文件放到Cydia的目录下即可。

    源的图标文件名为 域名.png,比如威锋源的地址为http://app./cydia,那么图标文件名应为app..png,该文件需位于 /Applications/Cydia.app/Sources/ 下,图标分辨率为60 × 60

    分类图标需位于 /Applications/Cydia.app/Ssctions/ 下,文件名有一定要求。一般来说文件名跟分类名一致就可以了,但也有例外。以威锋源为例,分类 [2.x] 所对应的图标文件名应为 2.x.png,没有方括号,但其它的就要有方括号。另外,一定要注意大小写的匹配,文件名编码须为UTF-8。


    制作软件源的安装包,这里就直接提供威锋源的安装包了。
    com.weiphone.source_1.2_iphoneos-arm.deb (78 KB, 下载次数: 868)

    重点:
    1. list文件 /etc/apt/sources.list.d/weiphone.list
    1. # do not edit this file to add your own custom sources
    2. # this file is subject to be upgraded as part of a package
    3. # either add your own .list file to /etc/apt/sources.list.d
    4. # or add your entry to the global /etc/apt/sources.list file
    5. deb http://app./cydia/ ./
    复制代码

    2. 公匙,其实放在哪里不重要,但Cydia的所有源的公匙都是放在 /usr/share/keyrings/ 下,所以尽量随主流吧

    3. 安装公匙的脚本 postinst或者extrainst_都行,只不过通常都用extrainst_
    1. #!/bin/sh
    2. if [[ $1 == install || $1 == upgrade ]]; then
    3.     /usr/bin/apt-key add /usr/share/keyrings/weiphone-keyring.gpg
    4. fi
    复制代码
    记得修改文件名

    4. 卸载时删除公匙的脚本,prerm或者postrm都行
    1. #!/bin/sh
    2. if [[ $1 == remove ]]; then
    3.     /usr/bin/apt-key del BB7EB3ED
    4. fi
    复制代码

    服务器上文件存放位置,最简单的
    cydia--
               |--debs--*.deb
               |--Packages
               |--Packages.bz2
               |--Packages.gz
               |--Release
               |--Release.gpg

    Cydia Wrong language code zh-Hans 或 Wrong language code zh-Hant 的解释

    其实这个不是错误,而是Cydia本身对中文的支持有问题。
    而且,这个提示并非是错误提示,实际是属于警告的性质,因为Cydia本身在中文支持上有些问题,但不影响使用,所以会出现警告。
    该警告的出现与Cydia软件源中是否存在中文无关,而是和系统语言设置有关,该问题只出现在简体中文和繁体中文系统下(不信把系统语言改成非中文的看还会不会出现错误)。

    何时会出现错误提示:
    很简单,Cydia刷新出了问题。
    一般有两种可能:
    1.  网络问题导致Cydia不能获取Packages或Release等文件
    2. Packages和Release文件本身有问题,比如说格式错误或者编码错误(BigBoss就闹过一次)


    如果网络通畅的话就不会出现这个错误提示了。 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多