Compare commits
16 Commits
appbase-v1
...
appbase-v1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ed193119f6 | ||
|
|
f4a054663e | ||
|
|
d17dd8073d | ||
|
|
7150974d01 | ||
|
|
c2794e7322 | ||
|
|
4737ce92e1 | ||
|
|
839bf72eca | ||
|
|
3f2ec872f8 | ||
|
|
b62cbc043b | ||
|
|
d0e7f1f56c | ||
|
|
39fe25f34f | ||
|
|
94f444d6c7 | ||
|
|
33952a90de | ||
|
|
4c1fece9f0 | ||
|
|
b60de856ca | ||
|
|
6cc04f8e6f |
6
.gitmodules
vendored
6
.gitmodules
vendored
@@ -0,0 +1,6 @@
|
||||
[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
|
||||
|
||||
@@ -75,9 +75,9 @@ android {
|
||||
def outputFileName=project.rootDir.name + "_${versionName}.apk"
|
||||
|
||||
// 创建 WinBoll Studio 发布接口文件夹
|
||||
File fWinBoLLStudioDir = file("/sdcard/WinBoLLStudio/APKs");
|
||||
if(!fWinBoLLStudioDir.exists()) {
|
||||
//fWinBoLLStudioDir.mkdirs();
|
||||
File fWinBollStudioDir = file("/sdcard/WinBollStudio/APKs");
|
||||
if(!fWinBollStudioDir.exists()) {
|
||||
//fWinBollStudioDir.mkdirs();
|
||||
// 如果没有发布接口文件就不用进行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.'
|
||||
@@ -94,12 +94,12 @@ android {
|
||||
// 如果正在调试,就拷贝到 WinBoll 备份管理文件夹
|
||||
//
|
||||
if(variant.flavorName == "beta"&&variant.buildType.name == "debug"){
|
||||
//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, "/${rootProject.name}/${variant.buildType.name}")
|
||||
File outBuildBckDir = new File(fWinBollStudioDir, "/" + project.rootDir.name + "/${variant.buildType.name}")
|
||||
// 创建目标路径目录
|
||||
if(!outBuildBckDir.exists()) {
|
||||
outBuildBckDir.mkdirs();
|
||||
println "Output Folder Created.(WinBoLLStudio) : " + outBuildBckDir.getAbsolutePath()
|
||||
println "Output Folder Created.(WinBollStudio) : " + outBuildBckDir.getAbsolutePath()
|
||||
}
|
||||
if(outBuildBckDir.exists()) {
|
||||
copy{
|
||||
@@ -108,7 +108,7 @@ android {
|
||||
rename {
|
||||
String fileName -> "${outputFileName}"
|
||||
}
|
||||
println "Output APK (WinBoLLStudio): " + outBuildBckDir.getAbsolutePath() + "/${outputFileName}"
|
||||
println "Output APK (WinBollStudio): " + outBuildBckDir.getAbsolutePath() + "/${outputFileName}"
|
||||
}
|
||||
// 检查编译标志位配置
|
||||
assert (winbollBuildProps['buildCount'] != null)
|
||||
@@ -151,8 +151,8 @@ android {
|
||||
String szCommonTagAPKName = project.rootDir.name + "_" + szShortVersionName + ".apk"
|
||||
println "CommonTagAPKName is : " + szCommonTagAPKName
|
||||
|
||||
//File outTagDir = new File(fWinBoLLStudioDir, "/${rootProject.name}/tag/")
|
||||
File outTagDir = new File(fWinBoLLStudioDir, "/" + project.rootDir.name + "/tag/")
|
||||
//File outTagDir = new File(fWinBollStudioDir, "/${rootProject.name}/tag/")
|
||||
File outTagDir = new File(fWinBollStudioDir, "/" + project.rootDir.name + "/tag/")
|
||||
// 创建目标路径目录
|
||||
if(!outTagDir.exists()) {
|
||||
outTagDir.mkdirs();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# ☁ ☁ ☁ WinBoll APP ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁
|
||||
# ☁ ☁ 这是 WinBoll 系列 APP 汇总项目。☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁
|
||||
# ☁ ☁ ☁ WinBoll 网站地址 https://www.winboll.cc/studio/app/ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁
|
||||
# ☁ ☁ ☁ WinBoLL APP ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁
|
||||
# ☁ ☁ WinBoLL Studio Android 应用开源项目。☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁
|
||||
# ☁ ☁ ☁ WinBoLL 网站地址 https://www.winboll.cc/ ☁ ☁ ☁ ☁ ☁ ☁ ☁ ☁
|
||||
|
||||
## WinBoll 提问
|
||||
同样是 /sdcard 目录,在开发 Android 应用时,
|
||||
|
||||
@@ -30,7 +30,7 @@ android {
|
||||
// versionName 更新后需要手动设置
|
||||
// .winboll/winbollBuildProps.properties 文件的 stageCount=0
|
||||
// Gradle编译环境下合起来的 versionName 就是 "${versionName}.0"
|
||||
versionName "15.2"
|
||||
versionName "15.6"
|
||||
if(true) {
|
||||
versionName = genVersionName("${versionName}")
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#Created by .winboll/winboll_app_build.gradle
|
||||
#Sun Apr 27 00:07:35 GMT 2025
|
||||
stageCount=7
|
||||
#Sun Apr 27 16:35:29 GMT 2025
|
||||
stageCount=0
|
||||
libraryProject=libappbase
|
||||
baseVersion=15.2
|
||||
publishVersion=15.2.6
|
||||
buildCount=0
|
||||
baseBetaVersion=15.2.7
|
||||
baseVersion=15.6
|
||||
publishVersion=15.6.0
|
||||
buildCount=2
|
||||
baseBetaVersion=15.6.1
|
||||
|
||||
@@ -22,8 +22,9 @@ import cc.winboll.studio.libappbase.sos.SOS;
|
||||
import cc.winboll.studio.libappbase.utils.ToastUtils;
|
||||
import cc.winboll.studio.libappbase.widgets.StatusWidget;
|
||||
import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
|
||||
import cc.winboll.studio.libappbase.dialogs.YesNoAlertDialog;
|
||||
|
||||
public class MainActivity extends WinBoLLActivity implements IWinBollActivity {
|
||||
public class MainActivity extends WinBollActivityBase implements IWinBollActivity {
|
||||
|
||||
public static final String TAG = "MainActivity";
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ import android.os.Bundle;
|
||||
import android.os.PersistableBundle;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.view.MenuItem;
|
||||
import android.widget.Toast;
|
||||
import cc.winboll.studio.appbase.App;
|
||||
import cc.winboll.studio.appbase.R;
|
||||
import cc.winboll.studio.libappbase.GlobalApplication;
|
||||
@@ -18,7 +17,7 @@ import cc.winboll.studio.libappbase.dialogs.YesNoAlertDialog;
|
||||
import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
|
||||
import cc.winboll.studio.libappbase.winboll.WinBollActivityManager;
|
||||
|
||||
public class WinBoLLActivity extends AppCompatActivity implements IWinBollActivity {
|
||||
public class WinBollActivityBase extends AppCompatActivity implements IWinBollActivity {
|
||||
|
||||
public static final String TAG = "WinBollActivityBase";
|
||||
|
||||
@@ -46,17 +45,14 @@ public class WinBoLLActivity extends AppCompatActivity implements IWinBollActivi
|
||||
public void onPostCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
|
||||
super.onPostCreate(savedInstanceState, persistentState);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (item.getItemId() == cc.winboll.studio.appbase.R.id.item_log) {
|
||||
GlobalApplication.getWinBollActivityManager().startLogActivity(this);
|
||||
return true;
|
||||
} 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) {
|
||||
} else if(item.getItemId() == cc.winboll.studio.appbase.R.id.item_minimal) {
|
||||
//moveTaskToBack(true);
|
||||
exit();
|
||||
}
|
||||
@@ -12,11 +12,11 @@ import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import cc.winboll.studio.appbase.R;
|
||||
import cc.winboll.studio.appbase.WinBoLLActivity;
|
||||
import cc.winboll.studio.appbase.WinBollActivityBase;
|
||||
import cc.winboll.studio.libappbase.GlobalApplication;
|
||||
import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
|
||||
|
||||
public class New2Activity extends WinBoLLActivity implements IWinBollActivity {
|
||||
public class New2Activity extends WinBollActivityBase implements IWinBollActivity {
|
||||
|
||||
public static final String TAG = "New2Activity";
|
||||
|
||||
|
||||
@@ -11,11 +11,11 @@ import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import cc.winboll.studio.appbase.R;
|
||||
import cc.winboll.studio.appbase.WinBoLLActivity;
|
||||
import cc.winboll.studio.appbase.WinBollActivityBase;
|
||||
import cc.winboll.studio.libappbase.GlobalApplication;
|
||||
import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
|
||||
|
||||
public class NewActivity extends WinBoLLActivity implements IWinBollActivity {
|
||||
public class NewActivity extends WinBollActivityBase implements IWinBollActivity {
|
||||
|
||||
public static final String TAG = "NewActivity";
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#Created by .winboll/winboll_app_build.gradle
|
||||
#Sat Apr 26 16:55:12 GMT 2025
|
||||
#Sat Mar 29 12:14:55 HKT 2025
|
||||
stageCount=2
|
||||
libraryProject=libapputils
|
||||
baseVersion=15.2
|
||||
publishVersion=15.2.1
|
||||
buildCount=1
|
||||
buildCount=0
|
||||
baseBetaVersion=15.2.2
|
||||
|
||||
36
build.gradle
36
build.gradle
@@ -2,11 +2,15 @@
|
||||
buildscript {
|
||||
repositories {
|
||||
// 本地 Maven 仓库(默认路径为 ~/.m2/repository)
|
||||
//mavenLocal()
|
||||
mavenLocal()
|
||||
// 或自定义本地仓库路径
|
||||
//maven { url "file:///sdcard/.m2/repository" }
|
||||
// 或自定义本地仓库路径
|
||||
//maven { url "file:///sdcard/ZhanGSKen/AIDE/MavenReps/repository" }
|
||||
maven { url "file:///sdcard/.m2/repository" }
|
||||
|
||||
// Nexus Maven 库地址
|
||||
// "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/google/' }
|
||||
@@ -17,12 +21,6 @@ buildscript {
|
||||
mavenCentral()
|
||||
google()
|
||||
//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 {
|
||||
classpath 'com.android.tools.build:gradle:7.2.1' // 对应 compileSdkVersion 32
|
||||
@@ -33,12 +31,11 @@ buildscript {
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
// 本地 Maven 仓库(默认路径为 ~/.m2/repository)
|
||||
//mavenLocal()
|
||||
// 或自定义本地仓库路径
|
||||
//maven { url "file:///sdcard/.m2/repository" }
|
||||
// 或自定义本地仓库路径
|
||||
//maven { url "file:///sdcard/ZhanGSKen/AIDE/MavenReps/repository" }
|
||||
// Nexus Maven 库地址
|
||||
// "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/google/' }
|
||||
@@ -49,12 +46,6 @@ allprojects {
|
||||
mavenCentral()
|
||||
google()
|
||||
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 {
|
||||
// 定义全局变量,常用于版本管理
|
||||
@@ -65,7 +56,6 @@ allprojects {
|
||||
bashCommitAppPublishBuildFlagInfoFilePath = ".winboll/bashCommitAppPublishBuildFlagInfo.sh"
|
||||
|
||||
winbollFilePath = "winboll.properties"
|
||||
//keyPropsFilePath = "winboll-x/current.keystore"
|
||||
keyPropsFilePath = "current.keystore"
|
||||
// 定义 lint 输出文件
|
||||
lintXmlReportFilePath = "build/reports/lint-results.xml"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#Created by .winboll/winboll_app_build.gradle
|
||||
#Sun Apr 27 00:07:35 GMT 2025
|
||||
stageCount=7
|
||||
#Sun Apr 27 16:35:29 GMT 2025
|
||||
stageCount=0
|
||||
libraryProject=libappbase
|
||||
baseVersion=15.2
|
||||
publishVersion=15.2.6
|
||||
buildCount=0
|
||||
baseBetaVersion=15.2.7
|
||||
baseVersion=15.6
|
||||
publishVersion=15.6.0
|
||||
buildCount=2
|
||||
baseBetaVersion=15.6.1
|
||||
|
||||
@@ -4,19 +4,20 @@ package cc.winboll.studio.libappbase;
|
||||
* @Author ZhanGSKen@AliYun.Com
|
||||
* @Date 2025/02/11 00:14:05
|
||||
*/
|
||||
import android.app.Activity;
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.widget.Toast;
|
||||
import cc.winboll.studio.libappbase.R;
|
||||
|
||||
public final class GlobalCrashActivity extends Activity implements MenuItem.OnMenuItemClickListener {
|
||||
public final class GlobalCrashActivity extends AppCompatActivity implements MenuItem.OnMenuItemClickListener {
|
||||
|
||||
private static final int MENUITEM_COPY = 0;
|
||||
private static final int MENUITEM_RESTART = 1;
|
||||
@@ -38,10 +39,10 @@ public final class GlobalCrashActivity extends Activity implements MenuItem.OnMe
|
||||
setContentView(R.layout.activity_globalcrash);
|
||||
mGlobalCrashReportView = findViewById(R.id.activityglobalcrashGlobalCrashReportView1);
|
||||
mGlobalCrashReportView.setReport(mLog);
|
||||
setActionBar(mGlobalCrashReportView.getToolbar());
|
||||
setSupportActionBar(mGlobalCrashReportView.getToolbar());
|
||||
|
||||
getActionBar().setTitle(CrashHandler.TITTLE);
|
||||
getActionBar().setSubtitle(GlobalApplication.getAppName(getApplicationContext()));
|
||||
getSupportActionBar().setTitle(CrashHandler.TITTLE);
|
||||
getSupportActionBar().setSubtitle(GlobalApplication.getAppName(getApplicationContext()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -8,6 +8,7 @@ package cc.winboll.studio.libappbase;
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Color;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.text.SpannableString;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.util.AttributeSet;
|
||||
@@ -16,7 +17,6 @@ import android.view.MenuItem;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
import cc.winboll.studio.libappbase.R;
|
||||
import android.widget.Toolbar;
|
||||
|
||||
public class GlobalCrashReportView extends LinearLayout {
|
||||
|
||||
|
||||
@@ -42,8 +42,7 @@ dependencies {
|
||||
// https://mvnrepository.com/artifact/com.android.support/recyclerview-v7
|
||||
api 'com.android.support:recyclerview-v7:28.0.0'
|
||||
|
||||
//api 'cc.winboll.studio:libappbase:15.2.0'
|
||||
api project(':libappbase')
|
||||
api 'cc.winboll.studio:libappbase:15.2.0'
|
||||
|
||||
// 二维码类库
|
||||
api 'com.google.zxing:core:3.4.1'
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#Created by .winboll/winboll_app_build.gradle
|
||||
#Sat Apr 26 16:55:12 GMT 2025
|
||||
#Sat Mar 29 12:14:39 HKT 2025
|
||||
stageCount=2
|
||||
libraryProject=libapputils
|
||||
baseVersion=15.2
|
||||
publishVersion=15.2.1
|
||||
buildCount=1
|
||||
buildCount=0
|
||||
baseBetaVersion=15.2.2
|
||||
|
||||
@@ -1,4 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<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>
|
||||
|
||||
1
libjc/jcc/libs
Submodule
1
libjc/jcc/libs
Submodule
Submodule libjc/jcc/libs added at 645058e1e3
@@ -18,7 +18,6 @@
|
||||
// APPUtils 项目编译设置
|
||||
//include ':apputils'
|
||||
//include ':libapputils'
|
||||
//include ':libappbase'
|
||||
//rootProject.name = "apputils"
|
||||
|
||||
// JC 项目编译设置
|
||||
|
||||
Reference in New Issue
Block a user