-
Notifications
You must be signed in to change notification settings - Fork 162
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
meet f-droid version code requirement #623
Conversation
这个修改看上去没有太大的问题,应该不会破坏其他的构建 不过我还是怀疑做错了什么,因为 1.5.2+152 这个 versionCode 的第四位不应该是前三位的简单组合 在其他平台我们最终会得到 1.5.2.152 这种版本号 |
看起来没什么问题,不过现在 release 的 versioncode 是 2001,得比这个大,所以还是用 10502 了。 就是发布新版本的时候需要按照这个格式修改版本 + 号后面的数字
|
我也不是很清楚,如果不这样做貌似无法触发 F-Droid 的自动更新 如果认为这种方式不好的话或许可以通过每次修改 build.gradle 中的 versioncode 来达成目的 |
其实我一直有些没搞明白这里发生了什么 因为在本地调试构建的 VersionCode 是 1 而 release 构建无论发生在本地还是 GHA 都是 2001 我也没有在这个工程的任何地方找到 2001 这个 magic number |
没有问题,我们可以在全局应用这样的修改 在这个 PR 可以合并之后告诉我 此外如果你找到了我上面问题的答案,也欢迎告诉我 |
这个好像是谷歌的问题,因为用了 split-per-abi,所以需要为每个架构应用不同的 versionCode,好像不做配置会默认在基础上 + 1000,2000,3000,arm64-v8 是 2000 但奇怪的是我本地 release 构建也是 1,而不是 2001 |
现在还有一个问题是 Windows 好像要求 version 每一位要求 0-65535 而 10502直接占了 5 位,感觉有点限制版本号的递增了,我在想有什么更好的组合 |
我有一个问题,我注意到现在的 build.gradle 有对版本号进行处理 这样的话,在 Android 构建中,我们最终得到了 105022 在其他平台得到 10502 是这样吗,如果是这样的话,我觉得没有太大的问题,65535 的限制需要很久才会达到 不过可以看看其他 APP 怎么做的 |
是这样的 我还有一种想法是用现在 release workflow 成功的次数作为当前 version code,然后乘100再加上 abi code,这样当前version code 就是 5502 了,而 pubspec 填写 +55,这样每次更新版本就增 1。 |
这种做法并不稳定。 现在这样的实现我觉得已经没有问题了。 如果你也这样认为,可以告诉我,我会立即进行合并。 |
我认为没什么问题,可以合并 |
这个不重要,重要的是 abi 对应低位的数字。 flutter 默认用 1000, 2000, 4000 表示 abi,但 F-Droid 保留最高版本号的 apk 其它移到 archive 里。 |
这听上去和上面的解决方法没有区别?我们目前只能使用比 2001 更大的 versionCode |
@linsui 所以这里的意思是我们要在 F-Droid 构建时执行 https://github.com/Predidit/libmpv-android-video-build/blob/main/buildscripts/bundle_default.sh 这个文件并链接到 media_kit 中吗?这样和直接从 GitHub Release 下载有什么区别吗,为了保持 libmpv 的 ndk 和 软件一致? |
目前的方法没问题
这样不符合 F-Droid 的要求 |
好吧,我想我某些程度上可以理解这种做法。 参考 Pilipala 的脚本就可以了,我们不需要继续对我们现有的 media-kit 分支应用更多的补丁 根据 media-kit 的工作方式, 相关的 .jar 目录会下载到当前工程目录下 media-kit 设置的缓存目录 我们只需要事先创建这个目录并拷贝相关 .jar 包, media-kit 就会自动跳过下载流程并使用这些已经存在的包 不过我很担心 ndk 版本之类问题会导致构建产物的不一致 |
我想这可能是为了证明 libmpv 二进制产物来自公开代码, 并且构建过程可重复 |
现在依然难以测试,距离 release 1.5.2 commit 之后增加了一个 bug 修复 commit,无法构建出和 release apk 一样的二进制文件,只能先包含 submodule |
我们先跑通 libmpv 的构建,大概率有一些可重复构建的问题。 |
https://gitlab.com/fdroid/fdroiddata/-/merge_requests/18472#note_2300963696
本地测试编译后的文件是正确的 1522
传上来看看 GHA 的正不正常