diff --git a/README.md b/README.md index 0a929c2..89c3f01 100644 --- a/README.md +++ b/README.md @@ -1,175 +1,98 @@ -## OriginMaster -【OriginMaster】WinBoLL 源生态计划。正如话,我需要一个 Point, 去撬动成个地球。 -WinBoLL系列项目各个项目源码合并推送方向: -WinBoLL=>APPBase=>OriginMaster -WinBoLL=>AES=>OriginMaster -WinBoLL=>PowerBell=>OriginMaster -WinBoLL=>Positions=>OriginMaster -仓库规划概述: -☆ WinBoLL,APPBase,AES,PowerBell与Positions都是开发库。 -☆ OriginMaster 是分支汇总存档库。 -☆ OriginMaster 不适宜作为开发库克隆使用,不是应用开发基础库,而是汇总资料库。 -☆ WinBoLL 库可以作为应用开发的基础继承模板。 - -######## -## ☁ ☁ ☁ WinBoLL APP ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ -# ☁ ☁ WinBoLL Studio Android 应用开源项目。☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ -# ☁ ☁ ☁ WinBoLL 网站地址 https://www.winboll.cc/ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ -# ☁ ☁ ☁ WinBoLL 源码地址 ☁ ☁ ☁ ☁ ☁ ☁ ☁ -# ☁ ☁ ☁ GitHub 源码地址 ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ -# ☁ ☁ ☁ 码云 源码地址 ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ -# ☁ ☁ ☁ 在 jitpack.io 托管的 APPBase 类库源码 ☁ ☁ ☁ ☁ -# ☁ ☁ ☁ 在 jitpack.io 托管的 AES 类库源码 ☁ ☁ ☁ ☁ -## WinBoLL 提问 -同样是 /sdcard 目录,在开发 Android 应用时, -能否实现手机编译与电脑编译的源码同步。 -☁因而 WinBoLL 项目组诞生了。 - -## WinBoLL 项目组研发计划 -致力于把 WinBoLL-APP 应用在手机端 Android 项目开发。 -也在探索 https://gitea.winboll.cc//APP.git 应用于 WinBoLL-APP APK 分发。 -更想进阶 https://github.com//APP.git 应用于 WinBoLL-APP Beta APK 分发。 - -## WinBoLL-APP 汗下... -#### ☁应用何置如此呢。且观用户云云。 - -#### ☁ 正当下 ☁ ### -#### ☁ 且容傻家叙说 ☁ WinBoLL-APP 应用场景 -### ☁ WinBoLL 设备资源概述 -#### ☁ 1. Raid Disk. -概述:这是一个矩阵存储类设备。 -优点:该设备具有数据容错存储功能, - 数据存储具有特长持久性。 -缺点:设备使用能源消耗比较高, - 设备存取速度一般。 - -#### ☁ 2. Data Disk. -概述:这是一个普通硬盘存储设备 -优点:该设备独立于操作系统, - 数据持久性一般, - 存取能源消耗小于 Raid Disk。 -缺点:数据存储速度一般,存储能源消耗一般。 - -#### ☁ 3. SSD Disk. -概述:这是一个 SSD 硬盘存储设备。 -优点:存取速度快于 Data Disk 与 Raid Disk, - 存取能源消耗小于 Data Disk 与 Raid Disk。 -缺点:数据持久性一般, - 设备位于操作系统内部文件系统。 - 数据持久性与操作系统挂钩。 - -#### ☁ 4. WinBoLL 用户资源概述。 -1> /home/<用户名> 位于 WinBoLL 操作系统目录下。 -2> /rdisk/<用户名> 挂载用户 Raid Disk. -3> /data/<用户名> 挂载用户 Data Disk. -4> /sdcard/<用户名> 挂载用户 SSD Disk. - -#### ☁ 5. WinBoLL-APP 用户资源概述。 -1> /sdcard 挂载用户手机 SD 存储/storage/emulated/0 - -### ☁ 稍稍歇 ☁ ### -### ☁ 急急停 ☁ WinBoLL 应用前置条件 -☁ WinBoLL 主机建立 1Panel MySQL 应用。 -☁ WinBoLL 主机建立 1Panel Gitea 应用。 -☁ WinBoLL 主机设置 WinBoLL 应用为非登录状态。 -☁ WinBoLL 主机建立 WinBoLL 账户与 WinBoLL 用户组。 -☁ WinBoLL 账户 User ID 为: J。 -☁ WinBoLL 用户组 Group ID 为: Studio。 -☁ WinBoLL 主机 WinBoLL 1Panel Gitea 建立 WinBoLL 工作组。 -☁ WinBoLL 主机 WinBoLL 1Panel Gitea 用户项目 APK 编译输出目录为 /sdcard/WinBoLLStudio/<用户名>/APKs/ -☁ WinBoLL 项目配置文件示例为 "/.winboll/winboll.properties-demo"(WinBoLL 项目已设置) -☁ WinBoLL 项目配置文件为 "/.winboll/winboll.properties" -☁ WinBoLL 项目配置文件设定为源码提交时忽略。(WinBoLL 项目已设置) -☁ Gradle 项目配置文件示例为 "/.winboll/local.properties-demo"(WinBoLL 项目已设置) -☁ Gradle 项目配置文件为 "/local.properties"(WinBoLL 项目已设置) -☁ Gradle 项目配置文件设定为源码提交时忽略。(WinBoLL 项目已设置) - -### ☁ 登高处 ☁ WinBoLL 应用需求规划 -☁ WinBoLL 主机建立 WinBoLL 客户端用户数据库为 MySQL winbollclient 数据库。 -☁ WinBoLL 主机设置 WinBoLL 客户端用户信息存储在 winbollclient 数据库中。 -☁ MySQL winbollclient 数据库中 - WinBoLL 客户端用户信息设定为: - <用户名, 验证密码, 验证邮箱, 验证手机, 唯一存储令牌Token, 备用验证邮箱>。 -☁ WinBoLL 项目源码仓库托管在 WinBoLL 1Panel Gitea 目录 /opt/1panel/apps/gitea/gitea/data/git/repositories/studio/app.git中。 -☁ WinBoLL 主机提供 WinBoLL 1Panel Gitea 应用的 WinBoLL 项目源码仓库存取功能。(Gitea 应用已提供) -☁ WinBoLL 主机提供 WinBoLL Gitea 项目仓库存档功能。(Gitea 应用已提供) -☁ 提供 WinBoLL 客户端用户登录功能。(Gitea 应用已提供) - -### ☁ 看远方 ☁ ### -### ☁ 心忧虑 ☁ WinBoLL-APP 应用前置需求 -☁ WinBoLL-APP WinBoLL 项目根目录设定为手机的 /sdcard/WinBoLLStudio/Sources 目录。(需要用户手动建立文件夹) -☁ WinBoLL-APP 具有手机 /sdcard/WinBoLL 目录的存储权限。(需要手机操作系统授权) -☁ WinBoLL-APP WinBoLL 项目仓库源码存储路径为 /sdcard/WinBoLLStudio/Sources/APP.git(需要用户手动建立文件夹) -☁ WinBoLL-APP 项目 APK 编译输出目录为 /sdcard/WinBoLLStudio/APKs/ -☁ WinBoLL-APP 应用签名验证可定制化。(WinBoLL 项目已提供) -☁ WinBoLL-APP 与系列衍生 APP 应用共享 cc.winboll.studio 命名空间资源。(WinBoLL 项目已提供) -☁ WinBoLL-APP 用户客户端信息存储在命名空间为 WinBoLL APP MySQLLite 应用的 winbollappclient 数据库中。 -☁ WinBoLL-APP MySQLLite 应用的 winbollappclient 数据库中, - WinBoLL 用户客户端信息设定为: - <用户名, 唯一存储令牌Token>。 - -### ☁ 云游四方 ☁ ### -### ☁ 呔! ☁ WinBoLL-APP 应用需求规划 -☁ 如要使用 WinBoLL Android 项目的 Gradle 编译功能,则需要设置以下两个文件夹。 -☁ 1. 则需要建立数据存储目录 /sdcard/WinBoLLStudio/APKs。 - WinBoLL 项目源码编译出来的安装包会拷贝一份到 /sdcard/WinBoLLStudio/APKs 目录下。 -☁ 2. 则需要建立数据存储目录 /sdcard/AppProjects。 - WinBoLL 项目源码编译出来的安装包会拷贝一份并命名 "app.apk" 的安装文件为到 /sdcard/AppProjects 目录下。 - - -### ☁ 吁! ☁ WinBoLL-APP 共享计划前景 -☁ WinBoLL-APP 将会实现 https://winboll.cc/api 访问功能。 -☁ WinBoLL-APP 将会实现手机端 Android 应用的开发与管理功能。 - -## ☁ WinBoLL ☁ WinBoLL 主机忧虑 -☁ WinBoLL 将会提供 gitea.winboll.cc 域名用户注册登录功能。 -☁ WinBoLL 将会提供 WinBoLL-APP 及其衍生应用的 Gitea 仓库管理服务。 -☁ WinBoLL 将会提供 winboll.cc 域名 WinBoLL 项目组注册登录功能。 - -# 本项目要实际运用需要注意以下几个步骤: -# 在项目根目录下: -## ★. 项目模块编译环境设置(必须),settings.gradle-demo 要复制为 settings.gradle,并取消相应项目模块的注释。 -## ★. 项目模块编译环境设置(必须) 在根目录拷贝 gradle.properties-androidx-demo 或者 gradle.properties-android-demo 文件为 gradle.properties。 -## ★. 项目 Android SDK 编译环境设置(可选),local.properties-demo 要复制为 local.properties,并按需要设置 Android SDK 目录。 -## ★. 应用签名密钥 keystore 设置问题。一般调试编译只需用【Termux】cd 进 GenKeyStore 目录执行 $ bash gen_debug_keystore.sh 命令即可完成设置。 -## ☆. 应用 WiBoLL 签名密钥配置问题<非必须考虑>。设置时需要 clone 【keystore】模块源码并拷贝模块目录的 appkey.jks 与 appkey.keystore 到项目根目录即可。 -## ☆. 类库型模块编译环境设置(可选),winboll.properties-demo 要复制为 winboll.properties,并按需要设置 WinBoLL Maven 库登录用户信息, 和 APK 文件额外输出路径。 - - -# ☆类库型项目编译方法 -## 先编译类库对应的模块测试项目 -### 修改模块测试项目的 build.properties 文件 -设置属性 libraryProject=<类库项目模块文件夹名称> -### 再编译测试项目 -$ bash .winboll/bashPublishAPKAddTag.sh <应用项目模块文件夹名称> -#### 测试项目编译后,编译器会复制一份 APK 到 路径:"/sdcard/WinBoLLStudio/APKs/<项目根目录名称>/tag/" 文件夹。 -#### 若是 winboll.properties 文件的 [ExtraAPKOutputPath] 属性设置了路径。编译器也会复制一份 APK 到这个路径。 -### 最后编译类库项目 -$ bash .winboll/bashPublishLIBAddTag.sh <类库项目模块文件夹名称> -#### 类库模块编译命令执行后,编译器会发布到 WinBoLL Nexus Maven 库:Maven 库地址可以参阅根项目目录配置 build.gradle 文件。 - -# ☆应用型项目编译方法 -## 直接调用以下命令编译应用型项目 -$ bash .winboll/bashPublishAPKAddTag.sh <应用项目模块文件夹名称> -#### 应用模块编译命令执行后,编译器会复制一份 APK 到 -#### 测试项目编译后,编译器会复制一份 APK 到 路径:"/sdcard/WinBoLLStudio/APKs/<项目根目录名称>/tag/" 文件夹。 -#### 若是 winboll.properties 文件的 [ExtraAPKOutputPath] 属性设置了路径。编译器也会复制一份 APK 到这个路径。 - -## ☆应用调试编译方法 -使用以下命令编译调试: - -### Beta调试使用: -$ bash gradlew assembleBetaDebug - -### Stage调试使用: -$ bash gradlew assembleStageDebug - -### 若是 winboll.properties 文件的 [ExtraAPKOutputPath] 属性设置了路径。编译器也会复制一份 APK 到这个路径。 - -# 应用版本号命名方式 -## statge 渠道 -V<应用开发环境编号><应用功能变更号><应用调试阶段号> -如:APPBase_15.7.0 -## beta 渠道 -V<应用开发环境编号><应用功能变更号><应用调试阶段号>-beta<调试编译计数>_<调试编译时间(分钟+秒钟)> -如:APPBase_15.9.6-beta8_5413 +WinBoLL 源生态计划项目说明书 + +一、项目概述 + +1. 核心定位 + +【OriginMaster】WinBoLL 源生态计划,旨在通过核心项目 WinBoLL 联动系列开发库,构建手机端 Android 项目开发与多端编译同步的完整生态,实现手机与电脑的源码同步开发。 + +2. 仓库架构 + +仓库类型 包含仓库 功能说明 +开发库 WinBoLL、APPBase、AES、PowerBell、Positions 核心开发依赖库,其中 WinBoLL 可作为应用开发的基础继承模板 +分支汇总存档库 OriginMaster 仅用于汇总各开发库分支,不适宜作为开发库克隆使用,非应用开发基础库 + +3. 源码推送路径 + +- WinBoLL → APPBase → OriginMaster +- WinBoLL → AES → OriginMaster +- WinBoLL → PowerBell → OriginMaster +- WinBoLL → Positions → OriginMaster + +二、WinBoLL APP 核心信息 + +1. 项目简介 + +WinBoLL Studio Android 应用开源项目,专注于手机端 Android 开发与多端编译同步。 + +2. 官方资源 + +- 官方网站:https://www.winboll.cc/ +- 源码地址: +- Gitea:https://gitea.winboll.cc/Studio/WinBoLL.git +- GitHub:https://github.com/ZhanGSKen/WinBoLL.git +- 码云:https://gitee.com/zhangsken/winboll.git +- 托管类库源码: +- APPBase(jitpack.io):https://github.com/ZhanGSKen/APPBase.git +- AES(jitpack.io):https://github.com/ZhanGSKen/AES.git + +三、通用特征文件夹前置(/sdcard) + +- Linux 系统文件夹直接使用  /sdcard 。 +- 手机 SD 卡存储( /storage/emulated/0 )挂载的别名也可为  /sdcard 。 + +四、前置条件 + +1. WinBoLL-APP 配置 + +- APK 编译输出目录: /sdcard/WinBoLLStudio/APKs/ ,以及  /sdcard/AppProjects/ (命名为  app.apk ) +- 签名与命名空间:支持应用签名验证定制化,与衍生 APP 共享  cc.winboll.studio  命名空间 + +五、核心需求规划 + +1. 主机端需求 + +- 支持  winboll.cc  域名的用户注册登录服务 +- 支持  https://console.winboll.cc/api  访问 + +2. APP 端需求 + +- 实现手机端 Android 应用开发与管理功能 + +六、编译与使用指南 + +1. 项目初始化(必须) + +1. 复制  settings.gradle-demo  为  settings.gradle ,取消对应项目模块注释 +2. 复制  gradle.properties-androidx-demo  或  gradle.properties-android-demo  为  gradle.properties  +3. (可选)复制  local.properties-demo  为  local.properties ,配置 Android SDK 目录 +4. 签名设置: +- 调试编译:进入 GenKeyStore 目录执行  bash gen_debug_keystore.sh  +- 非必须:clone keystore 模块,拷贝  appkey.jks  与  appkey.keystore  到项目根目录 + +2. 编译命令 + +(1)类库型项目 + +1. 修改测试项目  build.properties ,设置  libraryProject=<类库项目模块名>  +2. 编译测试项目: bash .winboll/bashPublishAPKAddTag.sh <应用项目模块名>  +3. 编译类库项目: bash .winboll/bashPublishLIBAddTag.sh <类库项目模块名> (发布至 WinBoLL Nexus Maven 库) + +(2)应用型项目 + +- 编译命令: bash .winboll/bashPublishAPKAddTag.sh <应用项目模块名>  + +(3)调试编译 + +- Beta 调试: bash gradlew assembleBetaDebug  +- Stage 调试: bash gradlew assembleStageDebug  + +3. 编译输出路径 + +- 默认路径: /sdcard/WinBoLLStudio/APKs/<项目根目录名称>/tag/  +- 额外路径:若  winboll.properties  配置  ExtraAPKOutputPath ,APK 同步拷贝至该ExtraAPKOutputPath路径 + +4. 版本号命名规则 + +- Stage 渠道: V<应用开发环境编号><应用功能变更号><应用调试阶段号> (示例: APPBase_15.7.0 ) +- Beta 渠道: V<应用开发环境编号><应用功能变更号><应用调试阶段号>-beta<调试编译计数>_<调试编译时间(分钟+秒钟)> (示例: APPBase_15.9.6-beta8_5413 )