Compare commits

..

10 Commits

Author SHA1 Message Date
ZhanGSKen
bf17688ebf 发布测试 2025-04-27 08:09:42 +08:00
ZhanGSKen
c2ed7d648b 编译测试 2025-04-27 08:07:06 +08:00
ZhanGSKen
458fa40c40 更换为maven库引用方式的类库依赖。 2025-04-27 08:05:00 +08:00
ZhanGSKen
6190d728db 类库模块移除安卓版本依赖 2025-04-27 02:01:43 +08:00
ZhanGSKen
94375f34e2 编译模块方式调整 2025-04-27 01:08:33 +08:00
ZhanGSKen
a0e5a687d3 调整类库组织类型为子项目模块引用,忽略采用Maven库依赖的方法。 2025-04-27 01:01:12 +08:00
ZhanGSKen
ecccc68b8e 编译测试 2025-04-27 00:44:27 +08:00
ZhanGSKen
7565eb6cf0 <libapputils>Library Release 15.2.2 2025-04-03 11:09:47 +08:00
ZhanGSKen
eee62024cf <apputils>APK 15.2.2 release Publish. 2025-04-03 11:09:25 +08:00
ZhanGSKen
bf6870696d 清理应用介绍模块资源,模块已移动至AES。 2025-04-03 11:08:21 +08:00
19 changed files with 74 additions and 77 deletions

6
.gitmodules vendored
View File

@@ -1,6 +0,0 @@
[submodule "winboll-x"]
path = winboll-x
url = https://gitea.winboll.cc/Studio/WinBollX.git
[submodule "libjc/jcc/libs"]
path = libjc/jcc/libs
url = https://gitea.winboll.cc/Studio/APP_libjc_jcc_libs.git

View File

@@ -75,9 +75,9 @@ android {
def outputFileName=project.rootDir.name + "_${versionName}.apk" def outputFileName=project.rootDir.name + "_${versionName}.apk"
// 创建 WinBoll Studio 发布接口文件夹 // 创建 WinBoll Studio 发布接口文件夹
File fWinBollStudioDir = file("/sdcard/WinBollStudio/APKs"); File fWinBoLLStudioDir = file("/sdcard/WinBoLLStudio/APKs");
if(!fWinBollStudioDir.exists()) { if(!fWinBoLLStudioDir.exists()) {
//fWinBollStudioDir.mkdirs(); //fWinBoLLStudioDir.mkdirs();
// 如果没有发布接口文件就不用进行APK发布和源码管理操作 // 如果没有发布接口文件就不用进行APK发布和源码管理操作
// 当前编译环境不是 WinBoll 主机, 以下将忽略APK发布和源码管理操作。 // 当前编译环境不是 WinBoll 主机, 以下将忽略APK发布和源码管理操作。
println 'The current compilation environment is not in WinBoll host, and the following APK publishing and source management operations will be ignore.' println 'The current compilation environment is not in WinBoll host, and the following APK publishing and source management operations will be ignore.'
@@ -94,12 +94,12 @@ android {
// 如果正在调试,就拷贝到 WinBoll 备份管理文件夹 // 如果正在调试,就拷贝到 WinBoll 备份管理文件夹
// //
if(variant.flavorName == "beta"&&variant.buildType.name == "debug"){ if(variant.flavorName == "beta"&&variant.buildType.name == "debug"){
//File outBuildBckDir = new File(fWinBollStudioDir, "/${rootProject.name}/${variant.buildType.name}") //File outBuildBckDir = new File(fWinBoLLStudioDir, "/${rootProject.name}/${variant.buildType.name}")
File outBuildBckDir = new File(fWinBollStudioDir, "/" + project.rootDir.name + "/${variant.buildType.name}") File outBuildBckDir = new File(fWinBoLLStudioDir, "/" + project.rootDir.name + "/${variant.buildType.name}")
// 创建目标路径目录 // 创建目标路径目录
if(!outBuildBckDir.exists()) { if(!outBuildBckDir.exists()) {
outBuildBckDir.mkdirs(); outBuildBckDir.mkdirs();
println "Output Folder Created.(WinBollStudio) : " + outBuildBckDir.getAbsolutePath() println "Output Folder Created.(WinBoLLStudio) : " + outBuildBckDir.getAbsolutePath()
} }
if(outBuildBckDir.exists()) { if(outBuildBckDir.exists()) {
copy{ copy{
@@ -108,7 +108,7 @@ android {
rename { rename {
String fileName -> "${outputFileName}" String fileName -> "${outputFileName}"
} }
println "Output APK (WinBollStudio): " + outBuildBckDir.getAbsolutePath() + "/${outputFileName}" println "Output APK (WinBoLLStudio): " + outBuildBckDir.getAbsolutePath() + "/${outputFileName}"
} }
// 检查编译标志位配置 // 检查编译标志位配置
assert (winbollBuildProps['buildCount'] != null) assert (winbollBuildProps['buildCount'] != null)
@@ -151,8 +151,8 @@ android {
String szCommonTagAPKName = project.rootDir.name + "_" + szShortVersionName + ".apk" String szCommonTagAPKName = project.rootDir.name + "_" + szShortVersionName + ".apk"
println "CommonTagAPKName is : " + szCommonTagAPKName println "CommonTagAPKName is : " + szCommonTagAPKName
//File outTagDir = new File(fWinBollStudioDir, "/${rootProject.name}/tag/") //File outTagDir = new File(fWinBoLLStudioDir, "/${rootProject.name}/tag/")
File outTagDir = new File(fWinBollStudioDir, "/" + project.rootDir.name + "/tag/") File outTagDir = new File(fWinBoLLStudioDir, "/" + project.rootDir.name + "/tag/")
// 创建目标路径目录 // 创建目标路径目录
if(!outTagDir.exists()) { if(!outTagDir.exists()) {
outTagDir.mkdirs(); outTagDir.mkdirs();

View File

@@ -1,6 +1,6 @@
# ☁ ☁ ☁ WinBoLL APP ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ # ☁ ☁ ☁ WinBoll APP ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁
# ☁ ☁ WinBoLL Studio Android 应用开源项目。☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ # ☁ ☁ 这是 WinBoll 系列 APP 汇总项目。☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁
# ☁ ☁ ☁ WinBoLL 网站地址 https://www.winboll.cc/ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ # ☁ ☁ ☁ WinBoll 网站地址 https://www.winboll.cc/studio/app/ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁
## WinBoll 提问 ## WinBoll 提问
同样是 /sdcard 目录,在开发 Android 应用时, 同样是 /sdcard 目录,在开发 Android 应用时,

View File

@@ -30,7 +30,7 @@ android {
// versionName 更新后需要手动设置 // versionName 更新后需要手动设置
// .winboll/winbollBuildProps.properties 文件的 stageCount=0 // .winboll/winbollBuildProps.properties 文件的 stageCount=0
// Gradle编译环境下合起来的 versionName 就是 "${versionName}.0" // Gradle编译环境下合起来的 versionName 就是 "${versionName}.0"
versionName "15.6" versionName "15.2"
if(true) { if(true) {
versionName = genVersionName("${versionName}") versionName = genVersionName("${versionName}")
} }

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Sun Apr 27 16:35:29 GMT 2025 #Sun Apr 27 00:07:35 GMT 2025
stageCount=0 stageCount=7
libraryProject=libappbase libraryProject=libappbase
baseVersion=15.6 baseVersion=15.2
publishVersion=15.6.0 publishVersion=15.2.6
buildCount=2 buildCount=0
baseBetaVersion=15.6.1 baseBetaVersion=15.2.7

View File

@@ -22,9 +22,8 @@ import cc.winboll.studio.libappbase.sos.SOS;
import cc.winboll.studio.libappbase.utils.ToastUtils; import cc.winboll.studio.libappbase.utils.ToastUtils;
import cc.winboll.studio.libappbase.widgets.StatusWidget; import cc.winboll.studio.libappbase.widgets.StatusWidget;
import cc.winboll.studio.libappbase.winboll.IWinBollActivity; import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
import cc.winboll.studio.libappbase.dialogs.YesNoAlertDialog;
public class MainActivity extends WinBollActivityBase implements IWinBollActivity { public class MainActivity extends WinBoLLActivity implements IWinBollActivity {
public static final String TAG = "MainActivity"; public static final String TAG = "MainActivity";

View File

@@ -10,6 +10,7 @@ import android.os.Bundle;
import android.os.PersistableBundle; import android.os.PersistableBundle;
import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem; import android.view.MenuItem;
import android.widget.Toast;
import cc.winboll.studio.appbase.App; import cc.winboll.studio.appbase.App;
import cc.winboll.studio.appbase.R; import cc.winboll.studio.appbase.R;
import cc.winboll.studio.libappbase.GlobalApplication; import cc.winboll.studio.libappbase.GlobalApplication;
@@ -17,7 +18,7 @@ import cc.winboll.studio.libappbase.dialogs.YesNoAlertDialog;
import cc.winboll.studio.libappbase.winboll.IWinBollActivity; import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
import cc.winboll.studio.libappbase.winboll.WinBollActivityManager; import cc.winboll.studio.libappbase.winboll.WinBollActivityManager;
public class WinBollActivityBase extends AppCompatActivity implements IWinBollActivity { public class WinBoLLActivity extends AppCompatActivity implements IWinBollActivity {
public static final String TAG = "WinBollActivityBase"; public static final String TAG = "WinBollActivityBase";
@@ -45,14 +46,17 @@ public class WinBollActivityBase extends AppCompatActivity implements IWinBollAc
public void onPostCreate(Bundle savedInstanceState, PersistableBundle persistentState) { public void onPostCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onPostCreate(savedInstanceState, persistentState); super.onPostCreate(savedInstanceState, persistentState);
} }
@Override @Override
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == cc.winboll.studio.appbase.R.id.item_log) { if (item.getItemId() == cc.winboll.studio.appbase.R.id.item_log) {
GlobalApplication.getWinBollActivityManager().startLogActivity(this); GlobalApplication.getWinBollActivityManager().startLogActivity(this);
return true; return true;
} else if(item.getItemId() == cc.winboll.studio.appbase.R.id.item_minimal) { } else if (item.getItemId() == cc.winboll.studio.libappbase.R.id.item_about) {
Toast.makeText(getApplication(), "item_about", Toast.LENGTH_SHORT).show();
return true;
} else if (item.getItemId() == cc.winboll.studio.appbase.R.id.item_minimal) {
//moveTaskToBack(true); //moveTaskToBack(true);
exit(); exit();
} }

View File

@@ -12,11 +12,11 @@ import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
import cc.winboll.studio.appbase.R; import cc.winboll.studio.appbase.R;
import cc.winboll.studio.appbase.WinBollActivityBase; import cc.winboll.studio.appbase.WinBoLLActivity;
import cc.winboll.studio.libappbase.GlobalApplication; import cc.winboll.studio.libappbase.GlobalApplication;
import cc.winboll.studio.libappbase.winboll.IWinBollActivity; import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
public class New2Activity extends WinBollActivityBase implements IWinBollActivity { public class New2Activity extends WinBoLLActivity implements IWinBollActivity {
public static final String TAG = "New2Activity"; public static final String TAG = "New2Activity";

View File

@@ -11,11 +11,11 @@ import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
import cc.winboll.studio.appbase.R; import cc.winboll.studio.appbase.R;
import cc.winboll.studio.appbase.WinBollActivityBase; import cc.winboll.studio.appbase.WinBoLLActivity;
import cc.winboll.studio.libappbase.GlobalApplication; import cc.winboll.studio.libappbase.GlobalApplication;
import cc.winboll.studio.libappbase.winboll.IWinBollActivity; import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
public class NewActivity extends WinBollActivityBase implements IWinBollActivity { public class NewActivity extends WinBoLLActivity implements IWinBollActivity {
public static final String TAG = "NewActivity"; public static final String TAG = "NewActivity";

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Sat Mar 29 12:14:55 HKT 2025 #Sat Apr 26 16:55:12 GMT 2025
stageCount=2 stageCount=2
libraryProject=libapputils libraryProject=libapputils
baseVersion=15.2 baseVersion=15.2
publishVersion=15.2.1 publishVersion=15.2.1
buildCount=0 buildCount=1
baseBetaVersion=15.2.2 baseBetaVersion=15.2.2

View File

@@ -2,15 +2,11 @@
buildscript { buildscript {
repositories { repositories {
// 本地 Maven 仓库(默认路径为 ~/.m2/repository // 本地 Maven 仓库(默认路径为 ~/.m2/repository
mavenLocal() //mavenLocal()
// 或自定义本地仓库路径 // 或自定义本地仓库路径
maven { url "file:///sdcard/.m2/repository" } //maven { url "file:///sdcard/.m2/repository" }
// 或自定义本地仓库路径
// Nexus Maven 库地址 //maven { url "file:///sdcard/ZhanGSKen/AIDE/MavenReps/repository" }
// "WinBoll Release"
maven { url "https://nexus.winboll.cc/repository/maven-public/" }
// "WinBoll Snapshot"
maven { url "https://nexus.winboll.cc/repository/maven-snapshots/" }
maven { url 'https://maven.aliyun.com/repository/public/' } maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/google/' } maven { url 'https://maven.aliyun.com/repository/google/' }
@@ -21,6 +17,12 @@ buildscript {
mavenCentral() mavenCentral()
google() google()
//mavenLocal() //mavenLocal()
// Nexus Maven 库地址
// "WinBoll Release"
maven { url "https://192.168.123.26:8801/repository/maven-public/" }
// "WinBoll Snapshot"
maven { url "https://192.168.123.26:8801/repository/maven-snapshots/" }
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:7.2.1' // 对应 compileSdkVersion 32 classpath 'com.android.tools.build:gradle:7.2.1' // 对应 compileSdkVersion 32
@@ -31,11 +33,12 @@ buildscript {
allprojects { allprojects {
repositories { repositories {
// Nexus Maven 库地址 // 本地 Maven 仓库(默认路径为 ~/.m2/repository
// "WinBoll Release" //mavenLocal()
maven { url "https://nexus.winboll.cc/repository/maven-public/" } // 或自定义本地仓库路径
// "WinBoll Snapshot" //maven { url "file:///sdcard/.m2/repository" }
maven { url "https://nexus.winboll.cc/repository/maven-snapshots/" } // 或自定义本地仓库路径
//maven { url "file:///sdcard/ZhanGSKen/AIDE/MavenReps/repository" }
maven { url 'https://maven.aliyun.com/repository/public/' } maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/google/' } maven { url 'https://maven.aliyun.com/repository/google/' }
@@ -46,6 +49,12 @@ allprojects {
mavenCentral() mavenCentral()
google() google()
mavenLocal() mavenLocal()
// Nexus Maven 库地址
// "WinBoll Release"
maven { url "https://192.168.123.26:8801/repository/maven-public/" }
// "WinBoll Snapshot"
maven { url "https://192.168.123.26:8801/repository/maven-snapshots/" }
} }
ext { ext {
// 定义全局变量,常用于版本管理 // 定义全局变量,常用于版本管理
@@ -56,6 +65,7 @@ allprojects {
bashCommitAppPublishBuildFlagInfoFilePath = ".winboll/bashCommitAppPublishBuildFlagInfo.sh" bashCommitAppPublishBuildFlagInfoFilePath = ".winboll/bashCommitAppPublishBuildFlagInfo.sh"
winbollFilePath = "winboll.properties" winbollFilePath = "winboll.properties"
//keyPropsFilePath = "winboll-x/current.keystore"
keyPropsFilePath = "current.keystore" keyPropsFilePath = "current.keystore"
// 定义 lint 输出文件 // 定义 lint 输出文件
lintXmlReportFilePath = "build/reports/lint-results.xml" lintXmlReportFilePath = "build/reports/lint-results.xml"

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Sun Apr 27 16:35:29 GMT 2025 #Sun Apr 27 00:07:35 GMT 2025
stageCount=0 stageCount=7
libraryProject=libappbase libraryProject=libappbase
baseVersion=15.6 baseVersion=15.2
publishVersion=15.6.0 publishVersion=15.2.6
buildCount=2 buildCount=0
baseBetaVersion=15.6.1 baseBetaVersion=15.2.7

View File

@@ -4,20 +4,19 @@ package cc.winboll.studio.libappbase;
* @Author ZhanGSKen@AliYun.Com * @Author ZhanGSKen@AliYun.Com
* @Date 2025/02/11 00:14:05 * @Date 2025/02/11 00:14:05
*/ */
import android.app.Activity;
import android.content.ClipData; import android.content.ClipData;
import android.content.ClipboardManager; import android.content.ClipboardManager;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.widget.Toast; import android.widget.Toast;
import cc.winboll.studio.libappbase.R; import cc.winboll.studio.libappbase.R;
public final class GlobalCrashActivity extends AppCompatActivity implements MenuItem.OnMenuItemClickListener { public final class GlobalCrashActivity extends Activity implements MenuItem.OnMenuItemClickListener {
private static final int MENUITEM_COPY = 0; private static final int MENUITEM_COPY = 0;
private static final int MENUITEM_RESTART = 1; private static final int MENUITEM_RESTART = 1;
@@ -39,10 +38,10 @@ public final class GlobalCrashActivity extends AppCompatActivity implements Menu
setContentView(R.layout.activity_globalcrash); setContentView(R.layout.activity_globalcrash);
mGlobalCrashReportView = findViewById(R.id.activityglobalcrashGlobalCrashReportView1); mGlobalCrashReportView = findViewById(R.id.activityglobalcrashGlobalCrashReportView1);
mGlobalCrashReportView.setReport(mLog); mGlobalCrashReportView.setReport(mLog);
setSupportActionBar(mGlobalCrashReportView.getToolbar()); setActionBar(mGlobalCrashReportView.getToolbar());
getSupportActionBar().setTitle(CrashHandler.TITTLE); getActionBar().setTitle(CrashHandler.TITTLE);
getSupportActionBar().setSubtitle(GlobalApplication.getAppName(getApplicationContext())); getActionBar().setSubtitle(GlobalApplication.getAppName(getApplicationContext()));
} }
@Override @Override

View File

@@ -8,7 +8,6 @@ package cc.winboll.studio.libappbase;
import android.content.Context; import android.content.Context;
import android.content.res.TypedArray; import android.content.res.TypedArray;
import android.graphics.Color; import android.graphics.Color;
import android.support.v7.widget.Toolbar;
import android.text.SpannableString; import android.text.SpannableString;
import android.text.style.ForegroundColorSpan; import android.text.style.ForegroundColorSpan;
import android.util.AttributeSet; import android.util.AttributeSet;
@@ -17,6 +16,7 @@ import android.view.MenuItem;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import cc.winboll.studio.libappbase.R; import cc.winboll.studio.libappbase.R;
import android.widget.Toolbar;
public class GlobalCrashReportView extends LinearLayout { public class GlobalCrashReportView extends LinearLayout {

View File

@@ -42,7 +42,8 @@ dependencies {
// https://mvnrepository.com/artifact/com.android.support/recyclerview-v7 // https://mvnrepository.com/artifact/com.android.support/recyclerview-v7
api 'com.android.support:recyclerview-v7:28.0.0' api 'com.android.support:recyclerview-v7:28.0.0'
api 'cc.winboll.studio:libappbase:15.2.0' //api 'cc.winboll.studio:libappbase:15.2.0'
api project(':libappbase')
// 二维码类库 // 二维码类库
api 'com.google.zxing:core:3.4.1' api 'com.google.zxing:core:3.4.1'

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Sat Mar 29 12:14:39 HKT 2025 #Sat Apr 26 16:55:12 GMT 2025
stageCount=2 stageCount=2
libraryProject=libapputils libraryProject=libapputils
baseVersion=15.2 baseVersion=15.2
publishVersion=15.2.1 publishVersion=15.2.1
buildCount=0 buildCount=1
baseBetaVersion=15.2.2 baseBetaVersion=15.2.2

View File

@@ -1,14 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<declare-styleable name="AboutView">
<attr name="app_name" format="string" />
<attr name="app_apkfoldername" format="string" />
<attr name="app_apkname" format="string" />
<attr name="app_gitname" format="string" />
<attr name="app_gitowner" format="string" />
<attr name="app_gitappbranch" format="string" />
<attr name="app_gitappsubprojectfolder" format="string" />
<attr name="appdescription" format="string" />
<attr name="appicon" format="reference" />
</declare-styleable>
</resources> </resources>

Submodule libjc/jcc/libs deleted from 645058e1e3

View File

@@ -18,6 +18,7 @@
// APPUtils 项目编译设置 // APPUtils 项目编译设置
//include ':apputils' //include ':apputils'
//include ':libapputils' //include ':libapputils'
//include ':libappbase'
//rootProject.name = "apputils" //rootProject.name = "apputils"
// JC 项目编译设置 // JC 项目编译设置