A personal-use fork of the original Venera, maintained and enhanced to suit my own needs. | Fork自原版Venera,仅进行自用需求维护及增强。
See the codeVeneraX 是一个 Fork 自 Venera 并在原版基础上进行维护与增强,免费开源的多平台漫画阅读应用。
原始项目: 本项目 fork 自 venera-app/venera。
[!IMPORTANT] 在下载、安装或使用本软件前,请务必仔细阅读并充分理解《用户协议与免责声明》的全部内容。 您一旦下载、安装、复制、修改或使用本软件,即视为已阅读、理解并同意接受该声明的全部内容;如不同意,请勿使用并立即删除本软件。
各功能的配置步骤与操作方式详见 使用说明。应用内亦可查阅:设置 → 关于 → 使用说明。
flutter pub getflutter build apk # Android
flutter build windows # Windows
flutter build linux # Linux
flutter build macos # macOS
Android 需要先准备签名密钥,见下一节的「Android 签名」。
fork 本仓库后可以直接用 GitHub Actions 出安装包,不必配置本地环境。
1. 启用 Actions
fork 出来的仓库默认停用工作流,进 Actions 页点一下按钮启用。
2. 构建单个平台
Actions → Build ALL → Run workflow → 在 platform 里选 windows / linux / macos / ios / android,跑完在这次 run 的 Artifacts 里下载。
Windows、Linux、macOS、iOS 不需要任何配置就能构建,但产物没有签名:
3. Android 签名
Android 必须自己准备签名密钥,否则构建会直接失败。生成密钥:
keytool -genkey -v -keystore venera.jks -keyalg RSA -keysize 2048 -validity 10000 -alias venera
base64 -w0 venera.jks # macOS 用 base64 -i venera.jks
在仓库 Settings → Secrets and variables → Actions 添加 4 个 secret:
| 名称 | 内容 |
|---|---|
ANDROID_KEYSTORE_BASE64 | 上一步 base64 的输出 |
ANDROID_KEYSTORE_PASSWORD | keystore 密码 |
ANDROID_KEY_ALIAS | 别名,上例为 venera |
ANDROID_KEY_PASSWORD | key 密码 |
本地构建则把同样的信息写进 android/key.properties(该文件不会被提交):
storeFile=/绝对路径/venera.jks
storePassword=你的 keystore 密码
keyAlias=venera
keyPassword=你的 key 密码
注意: 自己签名的 APK 与本仓库发布版签名不同,无法覆盖安装,需要先卸载。卸载会清除应用数据,请先在应用内导出备份。
4. 改掉检查更新指向的仓库
如果要把构建产物分发出去,必须先改 lib/pages/settings/about.dart 开头的两个常量:
const kUpdateRepoOwner = 'Kyosee';
const kUpdateRepoName = 'VeneraX';
改成自己的用户名和仓库名。检查更新、下载更新包、更新日志、关于页的仓库链接都由这两个常量决定。
不改会有两个后果:应用启动时(「启动时检查更新」默认开启)会去查本仓库的最新版本,自己发的版本永远不会被检测到;Windows 上用户点「立即更新」会直接把本仓库的产物覆盖安装上去,等于把自己的版本换成了本仓库的版本。
5. 打 tag 自动发布(可选)
推送 v* tag 会触发全平台构建并创建 Release,fork 后需要先处理三处:
release-notes/<tag>.en.md 和 release-notes/<tag>.zh-CN.md 必须存在且非空。v 加 pubspec.yaml 里的版本号(不含 + 之后的部分)。Verify Android signature continuity 会比对上一个 Release 的 APK 签名。fork 仓库没有历史 Release,这一步必然失败,而 Release 依赖全部平台构建成功,一个失败就不会产出任何文件——首次发布前请删掉这一步。另外,两个 Update_AltStore_* 任务会把 AltStore 清单自动提交回 master,不需要可以删除;私有仓库可能拿不到 ubuntu-22.04-arm runner 而一直排队,可删除 Build_Linux_ARM64。
从 venera-app/venera 迁移时,请为 WebDAV 同步指定独立目录,不要与原项目共用。迁移前建议备份旧数据。
[!NOTE] 特别提示: 在下载、安装或使用本软件前,请您务必仔细阅读并充分理解本声明的全部内容。您一旦下载、安装、复制、修改或使用本软件,即视为已阅读、理解并同意接受本声明的全部内容。
一、软件性质
二、扩展与用户行为
三、第三方平台与社区
任何由第三方建立或维护的扩展分享平台、网站、论坛或交流群组,均属独立运营的第三方,与本项目无任何隶属关系。本项目不参与前述第三方扩展或社区的制作、发布、运营、维护与传播,亦不承担主动审查义务;使用者因使用第三方扩展或访问第三方网站而产生的一切风险与责任,由相关行为主体依法自行承担。
本项目未设立、不运营任何官方社群、群组或对外官方账号,亦未授权任何第三方以本项目名义进行宣传、推广或发布。
四、隐私与数据
五、知识产权
六、责任限制
七、二次开发与分发
八、其他
Dart
96.0%
Kotlin
1.2%
A personal-use fork of the original Venera, maintained and enhanced to suit my own needs. | Fork自原版Venera,仅进行自用需求维护及增强。
See the codeVeneraX 是一个 Fork 自 Venera 并在原版基础上进行维护与增强,免费开源的多平台漫画阅读应用。
原始项目: 本项目 fork 自 venera-app/venera。
[!IMPORTANT] 在下载、安装或使用本软件前,请务必仔细阅读并充分理解《用户协议与免责声明》的全部内容。 您一旦下载、安装、复制、修改或使用本软件,即视为已阅读、理解并同意接受该声明的全部内容;如不同意,请勿使用并立即删除本软件。
各功能的配置步骤与操作方式详见 使用说明。应用内亦可查阅:设置 → 关于 → 使用说明。
flutter pub getflutter build apk # Android
flutter build windows # Windows
flutter build linux # Linux
flutter build macos # macOS
Android 需要先准备签名密钥,见下一节的「Android 签名」。
fork 本仓库后可以直接用 GitHub Actions 出安装包,不必配置本地环境。
1. 启用 Actions
fork 出来的仓库默认停用工作流,进 Actions 页点一下按钮启用。
2. 构建单个平台
Actions → Build ALL → Run workflow → 在 platform 里选 windows / linux / macos / ios / android,跑完在这次 run 的 Artifacts 里下载。
Windows、Linux、macOS、iOS 不需要任何配置就能构建,但产物没有签名:
3. Android 签名
Android 必须自己准备签名密钥,否则构建会直接失败。生成密钥:
keytool -genkey -v -keystore venera.jks -keyalg RSA -keysize 2048 -validity 10000 -alias venera
base64 -w0 venera.jks # macOS 用 base64 -i venera.jks
在仓库 Settings → Secrets and variables → Actions 添加 4 个 secret:
| 名称 | 内容 |
|---|---|
ANDROID_KEYSTORE_BASE64 | 上一步 base64 的输出 |
ANDROID_KEYSTORE_PASSWORD | keystore 密码 |
ANDROID_KEY_ALIAS | 别名,上例为 venera |
ANDROID_KEY_PASSWORD | key 密码 |
本地构建则把同样的信息写进 android/key.properties(该文件不会被提交):
storeFile=/绝对路径/venera.jks
storePassword=你的 keystore 密码
keyAlias=venera
keyPassword=你的 key 密码
注意: 自己签名的 APK 与本仓库发布版签名不同,无法覆盖安装,需要先卸载。卸载会清除应用数据,请先在应用内导出备份。
4. 改掉检查更新指向的仓库
如果要把构建产物分发出去,必须先改 lib/pages/settings/about.dart 开头的两个常量:
const kUpdateRepoOwner = 'Kyosee';
const kUpdateRepoName = 'VeneraX';
改成自己的用户名和仓库名。检查更新、下载更新包、更新日志、关于页的仓库链接都由这两个常量决定。
不改会有两个后果:应用启动时(「启动时检查更新」默认开启)会去查本仓库的最新版本,自己发的版本永远不会被检测到;Windows 上用户点「立即更新」会直接把本仓库的产物覆盖安装上去,等于把自己的版本换成了本仓库的版本。
5. 打 tag 自动发布(可选)
推送 v* tag 会触发全平台构建并创建 Release,fork 后需要先处理三处:
release-notes/<tag>.en.md 和 release-notes/<tag>.zh-CN.md 必须存在且非空。v 加 pubspec.yaml 里的版本号(不含 + 之后的部分)。Verify Android signature continuity 会比对上一个 Release 的 APK 签名。fork 仓库没有历史 Release,这一步必然失败,而 Release 依赖全部平台构建成功,一个失败就不会产出任何文件——首次发布前请删掉这一步。另外,两个 Update_AltStore_* 任务会把 AltStore 清单自动提交回 master,不需要可以删除;私有仓库可能拿不到 ubuntu-22.04-arm runner 而一直排队,可删除 Build_Linux_ARM64。
从 venera-app/venera 迁移时,请为 WebDAV 同步指定独立目录,不要与原项目共用。迁移前建议备份旧数据。
[!NOTE] 特别提示: 在下载、安装或使用本软件前,请您务必仔细阅读并充分理解本声明的全部内容。您一旦下载、安装、复制、修改或使用本软件,即视为已阅读、理解并同意接受本声明的全部内容。
一、软件性质
二、扩展与用户行为
三、第三方平台与社区
任何由第三方建立或维护的扩展分享平台、网站、论坛或交流群组,均属独立运营的第三方,与本项目无任何隶属关系。本项目不参与前述第三方扩展或社区的制作、发布、运营、维护与传播,亦不承担主动审查义务;使用者因使用第三方扩展或访问第三方网站而产生的一切风险与责任,由相关行为主体依法自行承担。
本项目未设立、不运营任何官方社群、群组或对外官方账号,亦未授权任何第三方以本项目名义进行宣传、推广或发布。
四、隐私与数据
五、知识产权
六、责任限制
七、二次开发与分发
八、其他
Dart
96.0%
Kotlin
1.2%