From d3c40efffabdaadf5487707bdcd55ef21c157077 Mon Sep 17 00:00:00 2001 From: ZhanGSKen Date: Thu, 30 Apr 2026 08:34:29 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=88=91=E7=9A=84Termu?= =?UTF-8?q?x=E6=B4=BB=E5=8A=A8=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- winboll/src/main/AndroidManifest.xml | 42 +++++++++++-------- .../applications/MyTermuxActivity.java | 22 ++++++++++ .../main/res/layout/activity_my_termux.xml | 9 ++++ 3 files changed, 56 insertions(+), 17 deletions(-) create mode 100644 winboll/src/main/java/cc/winboll/studio/winboll/applications/MyTermuxActivity.java create mode 100644 winboll/src/main/res/layout/activity_my_termux.xml diff --git a/winboll/src/main/AndroidManifest.xml b/winboll/src/main/AndroidManifest.xml index 1477fdc..2420363 100644 --- a/winboll/src/main/AndroidManifest.xml +++ b/winboll/src/main/AndroidManifest.xml @@ -1,9 +1,9 @@ + package="cc.winboll.studio.winboll" + android:sharedUserId="com.termux"> @@ -13,11 +13,15 @@ - - - - + + + + + + + - + - - - - - + - + + + + + + + + + - + \ No newline at end of file diff --git a/winboll/src/main/java/cc/winboll/studio/winboll/applications/MyTermuxActivity.java b/winboll/src/main/java/cc/winboll/studio/winboll/applications/MyTermuxActivity.java new file mode 100644 index 0000000..5d60548 --- /dev/null +++ b/winboll/src/main/java/cc/winboll/studio/winboll/applications/MyTermuxActivity.java @@ -0,0 +1,22 @@ +package cc.winboll.studio.winboll.applications; + +import android.app.Activity; +import android.os.Bundle; +import cc.winboll.studio.winboll.R; + +/** + * @Author 豆包&ZhanGSKen + * @Date 2026/04/30 08:32 + */ +public class MyTermuxActivity extends Activity { + + public static final String TAG = "MyTermuxActivity"; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_my_termux); + + } + +} \ No newline at end of file diff --git a/winboll/src/main/res/layout/activity_my_termux.xml b/winboll/src/main/res/layout/activity_my_termux.xml new file mode 100644 index 0000000..6684a21 --- /dev/null +++ b/winboll/src/main/res/layout/activity_my_termux.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file From 79cb84134934671598751487c5cf267958a78863 Mon Sep 17 00:00:00 2001 From: ZhanGSKen Date: Thu, 30 Apr 2026 08:56:49 +0800 Subject: [PATCH 02/12] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20MyTermuxActi?= =?UTF-8?q?vity=20=E8=8F=9C=E5=8D=95=E5=8F=8A=E5=B7=A5=E5=85=B7=E6=A0=8F?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - MainActivity 添加 MyTermuxActivity 菜单项 - 配置 MyTermuxActivity 注册到 AndroidManifest.xml - 添加 Toolbar 布局并初始化工具栏 - 设置一级标题应用名称、二级标题活动名称 - 添加返回按钮导航逻辑 修改文件:MainActivity.java, MyTermuxActivity.java, activity_my_termux.xml, toolbar_main.xml, strings.xml, AndroidManifest.xml, gradlew --- gradlew | 0 winboll/build.properties | 4 +- winboll/src/main/AndroidManifest.xml | 4 +- .../winboll/studio/winboll/MainActivity.java | 5 +++ .../applications/MyTermuxActivity.java | 38 ++++++++++++++----- .../main/res/layout/activity_my_termux.xml | 23 +++++++++-- winboll/src/main/res/menu/toolbar_main.xml | 3 ++ winboll/src/main/res/values/strings.xml | 1 + 8 files changed, 61 insertions(+), 17 deletions(-) mode change 100644 => 100755 gradlew diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 diff --git a/winboll/build.properties b/winboll/build.properties index 49b4b72..4b88b09 100644 --- a/winboll/build.properties +++ b/winboll/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Wed Apr 08 17:37:24 GMT 2026 +#Thu Apr 30 08:55:04 CST 2026 stageCount=26 libraryProject= baseVersion=15.11 publishVersion=15.11.25 -buildCount=30 +buildCount=35 baseBetaVersion=15.11.26 diff --git a/winboll/src/main/AndroidManifest.xml b/winboll/src/main/AndroidManifest.xml index 2420363..bd4f999 100644 --- a/winboll/src/main/AndroidManifest.xml +++ b/winboll/src/main/AndroidManifest.xml @@ -309,7 +309,9 @@ - + diff --git a/winboll/src/main/java/cc/winboll/studio/winboll/MainActivity.java b/winboll/src/main/java/cc/winboll/studio/winboll/MainActivity.java index b4a3d84..6f3f370 100644 --- a/winboll/src/main/java/cc/winboll/studio/winboll/MainActivity.java +++ b/winboll/src/main/java/cc/winboll/studio/winboll/MainActivity.java @@ -15,6 +15,7 @@ import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.winboll.R; import cc.winboll.studio.winboll.activities.AboutActivity; import cc.winboll.studio.winboll.activities.SettingsActivity; +import cc.winboll.studio.winboll.applications.MyTermuxActivity; import cc.winboll.studio.winboll.fragments.BrowserFragment; import cc.winboll.studio.winboll.unittest.TermuxEnvTestActivity; import java.util.ArrayList; @@ -155,6 +156,10 @@ public class MainActivity extends DrawerFragmentActivity { Intent intent = new Intent(getApplicationContext(), AboutActivity.class); WinBoLLActivityManager.getInstance().startWinBoLLActivity(getApplicationContext(), intent, AboutActivity.class); + } else if (nItemId == R.id.item_mytermux) { + Intent intent = new Intent(getApplicationContext(), MyTermuxActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + startActivity(intent); } else if (nItemId == R.id.item_termux_env_test) { Intent intent = new Intent(getApplicationContext(), TermuxEnvTestActivity.class); diff --git a/winboll/src/main/java/cc/winboll/studio/winboll/applications/MyTermuxActivity.java b/winboll/src/main/java/cc/winboll/studio/winboll/applications/MyTermuxActivity.java index 5d60548..3deb165 100644 --- a/winboll/src/main/java/cc/winboll/studio/winboll/applications/MyTermuxActivity.java +++ b/winboll/src/main/java/cc/winboll/studio/winboll/applications/MyTermuxActivity.java @@ -1,22 +1,40 @@ package cc.winboll.studio.winboll.applications; -import android.app.Activity; import android.os.Bundle; +import android.view.View; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; +import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.winboll.R; -/** - * @Author 豆包&ZhanGSKen - * @Date 2026/04/30 08:32 - */ -public class MyTermuxActivity extends Activity { - +public class MyTermuxActivity extends AppCompatActivity { + public static final String TAG = "MyTermuxActivity"; - + + private Toolbar mToolbar; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_termux); - + + // 初始化工具栏 + initToolbar(); + } + + private void initToolbar() { + mToolbar = findViewById(R.id.toolbar); + if (mToolbar != null) { + setSupportActionBar(mToolbar); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + mToolbar.setNavigationOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + LogUtils.d(TAG, "点击返回按钮"); + finish(); + } + }); + LogUtils.d(TAG, "工具栏初始化完成"); + } } - } \ No newline at end of file diff --git a/winboll/src/main/res/layout/activity_my_termux.xml b/winboll/src/main/res/layout/activity_my_termux.xml index 6684a21..98ecbcc 100644 --- a/winboll/src/main/res/layout/activity_my_termux.xml +++ b/winboll/src/main/res/layout/activity_my_termux.xml @@ -1,9 +1,24 @@ - - - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/winboll/src/main/res/menu/toolbar_main.xml b/winboll/src/main/res/menu/toolbar_main.xml index bda3b26..05c1c77 100644 --- a/winboll/src/main/res/menu/toolbar_main.xml +++ b/winboll/src/main/res/menu/toolbar_main.xml @@ -5,6 +5,9 @@ android:id="@+id/item_home" android:title="HOME"/> + 金抖云 X WinBoLL WinBoLL APP + MyTermuxActivity From a825951aadf25bc13ec94c3df95724814f33f279 Mon Sep 17 00:00:00 2001 From: ZhanGSKen Date: Thu, 30 Apr 2026 09:42:08 +0800 Subject: [PATCH 03/12] =?UTF-8?q?feat:=20=E5=9C=A8=20MyTermuxActivity=20?= =?UTF-8?q?=E4=B8=AD=E6=B7=BB=E5=8A=A0=20Termux=20=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 activity_my_termux.xml 布局中添加 Termux 按钮(底部居中) - 在 MyTermuxActivity.java 中实现按钮点击事件 - 调用 TermuxCommandExecutor 执行 Termux 命令 - 移除了空 FrameLayout,简化布局结构 --- winboll/build.properties | 4 +-- .../applications/MyTermuxActivity.java | 34 +++++++++++++++++++ .../main/res/layout/activity_my_termux.xml | 15 +++++--- 3 files changed, 46 insertions(+), 7 deletions(-) diff --git a/winboll/build.properties b/winboll/build.properties index 4b88b09..7a08258 100644 --- a/winboll/build.properties +++ b/winboll/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Thu Apr 30 08:55:04 CST 2026 +#Thu Apr 30 09:29:52 CST 2026 stageCount=26 libraryProject= baseVersion=15.11 publishVersion=15.11.25 -buildCount=35 +buildCount=38 baseBetaVersion=15.11.26 diff --git a/winboll/src/main/java/cc/winboll/studio/winboll/applications/MyTermuxActivity.java b/winboll/src/main/java/cc/winboll/studio/winboll/applications/MyTermuxActivity.java index 3deb165..534a068 100644 --- a/winboll/src/main/java/cc/winboll/studio/winboll/applications/MyTermuxActivity.java +++ b/winboll/src/main/java/cc/winboll/studio/winboll/applications/MyTermuxActivity.java @@ -2,16 +2,19 @@ package cc.winboll.studio.winboll.applications; import android.os.Bundle; import android.view.View; +import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.winboll.R; +import cc.winboll.studio.winboll.termux.TermuxCommandExecutor; public class MyTermuxActivity extends AppCompatActivity { public static final String TAG = "MyTermuxActivity"; private Toolbar mToolbar; + private Button mTermuxButton; @Override protected void onCreate(Bundle savedInstanceState) { @@ -20,6 +23,8 @@ public class MyTermuxActivity extends AppCompatActivity { // 初始化工具栏 initToolbar(); + // 初始化按钮 + initTermuxButton(); } private void initToolbar() { @@ -37,4 +42,33 @@ public class MyTermuxActivity extends AppCompatActivity { LogUtils.d(TAG, "工具栏初始化完成"); } } + + private void initTermuxButton() { + mTermuxButton = findViewById(R.id.btn_termux); + if (mTermuxButton != null) { + mTermuxButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + LogUtils.d(TAG, "点击 Termux 按钮"); + executeSampleCommand(); + } + }); + LogUtils.d(TAG, "Termux 按钮初始化完成"); + } + } + + private void executeSampleCommand() { + if (isTermuxAvailable()) { + boolean success = TermuxCommandExecutor.executeTerminalCommand(this, "ls -la /data/data/com.termux/files/home"); + if (success) { + LogUtils.i(TAG, "命令执行成功"); + } else { + LogUtils.e(TAG, "命令执行失败"); + } + } + } + + private boolean isTermuxAvailable() { + return TermuxCommandExecutor.isTermuxInstalled(this); + } } \ No newline at end of file diff --git a/winboll/src/main/res/layout/activity_my_termux.xml b/winboll/src/main/res/layout/activity_my_termux.xml index 98ecbcc..42e2cf8 100644 --- a/winboll/src/main/res/layout/activity_my_termux.xml +++ b/winboll/src/main/res/layout/activity_my_termux.xml @@ -15,10 +15,15 @@ app:titleTextColor="@android:color/white" app:subtitleTextColor="@android:color/white"/> - +