linsui

Results 423 comments of linsui

我试了一下可重复构建,得到的 apk 内容是相同的但是打包的文件顺序不一样。你的 apk 文件顺序是打乱的。如果你可以在打包的时候对文件排序应该就可以构建出完全相同的 apk 了。F-Droid 一般使用 `disorderfs --sort-dirents=yes --reverse-dirents=no`.

F-Droid 中可重复构建是通过 apksigcopier 实现的,它将上游的 apk 中的签名部分直接复制到构建出来的 apk 文件末尾。因此 apk 必须完全一直才能验证安装。但 apk 中的内容顺序不一致会产生不同的 zip 文件,虽然大小和内容都一样,但 hash 值不同。

:joy: 可以是可以,但这样就是每次都要麻烦你,没有办法自动更新。我用 GitLab CI 构建的 apk 在[这](https://gitlab.com/linsui/fdroiddata/-/jobs/2597793579/artifacts/file/tmp/top.fumiama.copymanga_23.apk)。我认为比较好的办法是用 disorderfs 解决文件顺序的问题。

这个签名文件用 zipinfo 查看,第五个字段是 bl,但我构建的和你之前发布的 apk 这个字段是 b-。不知道是什么原因,可能是因为扩展名改了一次? ``` 第五个字段包含了两个字符,它们中的每个都能取若干个值.第一个字符可能是`t'或者`b',相应地表示 文件是文本的或者是二进制的;但是如果文件被加密,zipinfo 通过大写字符(`T'或者`B')来表示.第二 个字符可以取四个值,它依赖于是否存在一个本地的头信息并且/或者一个和那个文件相关的 "额外" 字 段(详细解释参看 PKWare's APPNOTE.TXT,它基本上类似于ANSI C中的pragmas,它们提供了一种包含非 标准信息的标准方法).如果两者都不存在,该字段为连字符(`-');如果有一个扩展的本地头信息但是没 有额外字段,则为`l';反之为`x';如果都存在,则为`X'.这样上面示例中的文件(很可能)是一个未被加密 的文本文件,并且没有额外字段和本地头信息与之相关联.下面的例子则是一个有额外信息的二进制文 件. ```

这三个是 b-,但大部分是 bl。但我构建的 apk 中所有文件都是 b-。很奇怪。

非常好,这次没问题了,谢谢!那么我们就先用这种方式?

可以把上面这个 apk 发在 release 里或者其他什么地方吗,这样就有一个有版本的稳定链接了。然后我可以在这个存储库里添加 fastlane 元数据吗?F-Droid 会从这里抓取应用描述。

请问设定页就是空的吗?还是要登录才有选项?

https://gitlab.com/fdroid/fdroiddata/-/merge_requests/11199 MR 可以合并了,有什么需要补充的吗?比如捐款方式之类的。

谢谢,已合并,大概一周之内会发布。