diff --git a/.winboll/bashMergeProjects-to-Projects_Keeper.sh b/.winboll/bashMergeProjects-to-Projects_Keeper.sh new file mode 100644 index 0000000..0f1bff7 --- /dev/null +++ b/.winboll/bashMergeProjects-to-Projects_Keeper.sh @@ -0,0 +1,192 @@ +#!/system/bin/sh +## 合并其他项目分支的模块源码到projects-keeper分支。 + +# ====================== 0. 进入目标目录 ====================== +TARGET_DIR="/sdcard/AppProjects/Projects_Keeper" + +echo "切换工作目录到:$TARGET_DIR" +if ! cd "$TARGET_DIR"; then + echo "==============================================" + echo "错误:无法进入目标目录 $TARGET_DIR" + echo "==============================================" + exit 1 +fi + +# ====================== 1. 拉取远程最新源码(失败直接退出) ====================== +echo "==============================================" +echo "正在拉取远程最新源码..." +echo "==============================================" +if ! git pull; then + echo "==============================================" + echo "错误:拉取远程源码失败!" + echo "请检查网络、仓库冲突或手动处理 git 状态后再执行脚本。" + echo "==============================================" + exit 1 +fi +echo "✅ 源码已拉取为最新状态" +echo "" + +# ====================== 2. 目录路径检查 ====================== +CUR_DIR=$(pwd) +if [ "$CUR_DIR" != "$TARGET_DIR" ]; then + echo "错误:当前目录不是项目根目录!" + echo "请先进入目录:$TARGET_DIR" + exit 1 +fi + +# ====================== 3. Git 分支检查 ====================== +CUR_BRANCH=$(git symbolic-ref --short HEAD 2>/dev/null) +TARGET_BRANCH="projects-keeper" + +if [ "$CUR_BRANCH" != "$TARGET_BRANCH" ]; then + echo "错误:当前不在 $TARGET_BRANCH 分支!" + echo "当前分支:$CUR_BRANCH" + echo "请先执行:git checkout $TARGET_BRANCH" + exit 1 +fi + +# ====================== 4. 预设标准模块列表 ====================== +MERGE_OBJECTS_LIST=( +.git +.gitignore +.gitmodules +.winboll +GenKeyStore +LICENSE +LICENSE-Private-Demo +LICENSE-Private-Demo_docs +README.md +aes +appbase +autonfc +build.gradle +contacts +debugtemp +gallery +gpsrelaysentinel +gradle +gradle.properties-android-demo +gradle.properties-androidx-demo +gradlew +libaes +libappbase +libdebugtemp +libgpsrelaysentinel +libwinboll +local.properties-demo +mymessagemanager +positions +powerbell +settings.gradle-demo +winboll +winboll.properties-demo +) + +# ====================== 5. 获取当前目录真实文件列表 ====================== +REAL_ITEMS=() +while IFS= read -r line; do + if [[ "$line" != "." && "$line" != ".." ]]; then + REAL_ITEMS+=("$line") + fi +done < <(ls -a) + +# ====================== 6. 差异比对函数 ====================== +check_diff() { + local missing=() + local extra=() + + for item in "${MERGE_OBJECTS_LIST[@]}"; do + local found=0 + for r in "${REAL_ITEMS[@]}"; do + if [[ "$item" == "$r" ]]; then + found=1 + break + fi + done + if (( found == 0 )); then + missing+=("$item") + fi + done + + for r in "${REAL_ITEMS[@]}"; do + local found=0 + for item in "${MERGE_OBJECTS_LIST[@]}"; do + if [[ "$item" == "$r" ]]; then + found=1 + break + fi + done + if (( found == 0 )); then + extra+=("$r") + fi + done + + if [[ ${#missing[@]} -gt 0 || ${#extra[@]} -gt 0 ]]; then + echo "==============================================" + echo "【错误】合并环境与脚本预设列表不匹配!" + echo "请手动核对并修改合并脚本。" + echo "==============================================" + + if [[ ${#missing[@]} -gt 0 ]]; then + echo -e "\n👉 本地缺失项目:" + for m in "${missing[@]}"; do echo " $m"; done + fi + + if [[ ${#extra[@]} -gt 0 ]]; then + echo -e "\n👉 本地多余项目:" + for e in "${extra[@]}"; do echo " $e"; done + fi + + echo -e "\n==============================================" + exit 1 + fi +} + +# 执行差异校验 +check_diff + +# ====================== 全部校验通过,继续执行合并 ====================== +echo -e "#@@@ 开始合并模块源码 @@@# +## 目标合并对象列表:" + +for item in "${MERGE_OBJECTS_LIST[@]}"; do + echo "$item" +done + +echo -e "## 对象列表结束 +" + +## 合并 APP 项目 +MERGE_APP_PROJECT_LIST=( +DemoAPP +) +echo -e "#@@@ 开始合并应用型模块源码 @@@# +## 目标合并对象列表:" + +for item in "${MERGE_APP_PROJECT_LIST[@]}"; do + echo "正在合并 $item 项目 ..." + item_lower=$(echo "$item" | tr 'A-Z' 'a-z') +git checkout origin/$item_lower $item_lower + git add . + git commit -m "合并 $item 项目" +done + +## 合并 LIB 项目 +MERGE_LIB_PROJECT_LIST=( +WinBoLL +APPBase +AES +) +echo -e "#@@@ 开始合并类库型模块源码 @@@# +## 目标合并对象列表:" + +for item in "${MERGE_LIB_PROJECT_LIST[@]}"; do + echo "正在合并 $item 项目 ..." + item_lower=$(echo "$item" | tr 'A-Z' 'a-z') +git checkout origin/$item_lower $item_lower lib$item_lower + git add . + git commit -m "合并 $item 项目" +done + +echo '正在推送 Projects_Keeper 项目' +git push \ No newline at end of file diff --git a/appbase/build.properties b/appbase/build.properties index 68642b1..9d9b58f 100644 --- a/appbase/build.properties +++ b/appbase/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Tue May 12 09:17:15 HKT 2026 +#Sat May 16 03:50:01 CST 2026 stageCount=10 libraryProject=libappbase baseVersion=15.20 publishVersion=15.20.9 -buildCount=0 +buildCount=6 baseBetaVersion=15.20.10 diff --git a/libappbase/build.gradle b/libappbase/build.gradle index 2e7654e..876e8b7 100644 --- a/libappbase/build.gradle +++ b/libappbase/build.gradle @@ -25,14 +25,5 @@ android { } dependencies { - // 网络连接类库 - api 'com.squareup.okhttp3:okhttp:4.4.1' - // Gson - api 'com.google.code.gson:gson:2.8.9' - // Html 解析 - api 'org.jsoup:jsoup:1.13.1' - // 添加JSch依赖(SFTP核心,com.jcraft:jsch:0.1.54) - api 'com.jcraft:jsch:0.1.54' - api fileTree(dir: 'libs', include: ['*.jar']) } diff --git a/libappbase/build.properties b/libappbase/build.properties index 8d3d61f..9d9b58f 100644 --- a/libappbase/build.properties +++ b/libappbase/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Tue May 12 09:16:45 HKT 2026 +#Sat May 16 03:50:01 CST 2026 stageCount=10 libraryProject=libappbase baseVersion=15.20 publishVersion=15.20.9 -buildCount=0 +buildCount=6 baseBetaVersion=15.20.10 diff --git a/libappbase/src/main/AndroidManifest.xml b/libappbase/src/main/AndroidManifest.xml index bbfd3f3..da1cde4 100644 --- a/libappbase/src/main/AndroidManifest.xml +++ b/libappbase/src/main/AndroidManifest.xml @@ -3,18 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" package="cc.winboll.studio.libappbase"> - - - - - - - - - - - - diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/LogUtils.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/LogUtils.java index 8ac2fe9..b286461 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/LogUtils.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/LogUtils.java @@ -135,8 +135,8 @@ public class LogUtils { return; } - final long MAX_FILE_SIZE = 6291456L; - final long KEEP_FILE_SIZE = 3145728L; + final long KEEP_FILE_SIZE = 512000L; // 500K + final long MAX_FILE_SIZE = 2*KEEP_FILE_SIZE; final long fileSize = _mfLogCatchFile.length(); if (fileSize <= MAX_FILE_SIZE) { diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/views/AboutView.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/views/AboutView.java index 8d94b53..050a8b6 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/views/AboutView.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/views/AboutView.java @@ -12,13 +12,11 @@ import android.widget.ImageButton; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; - import cc.winboll.studio.libappbase.GlobalApplication; import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.libappbase.R; import cc.winboll.studio.libappbase.ToastUtils; import cc.winboll.studio.libappbase.dialogs.DebugHostDialog; -import cc.winboll.studio.libappbase.dialogs.APPValidationDialog; import cc.winboll.studio.libappbase.models.APPInfo; /** @@ -328,14 +326,7 @@ public class AboutView extends LinearLayout { ToastUtils.show("已取消调试状态,重启应用可生效。"); } }); - // 正版校验弹窗 - ibSigngetDialog.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - LogUtils.d(TAG, "ibSigngetDialog onClick:唤起应用正版校验弹窗"); - new APPValidationDialog(mContext, mszAppName, mszAppVersionName).show(); - } - }); + // 调试地址配置弹窗 ibWinBoLLHostDialog.setOnClickListener(new OnClickListener() { @Override