chore: 清理项目并规范化
- 删除重复的 XMBOX-Release 目录(与 apk/ 目录功能重复) - 删除临时清理脚本和无关工具文件(bfg.jar, cleaner.bat) - 从 Git 中移除本地配置文件(gradle.properties.local) - 删除空的 local-repo 目录和 .DS_Store 文件 - 更新项目名称:rootProject.name 从 'TV' 改为 'XMBOX' - 更新通知渠道名称从 'TV' 改为 'XMBOX' - 更新关于对话框文本,移除 GitHub 链接 - 更新 .gitignore,添加更多忽略规则 - 从 settings.gradle 中注释掉未使用的 chaquo 模块
This commit is contained in:
+21
@@ -35,3 +35,24 @@ google-services.json
|
|||||||
|
|
||||||
# APK files
|
# APK files
|
||||||
apk/release/*.apk
|
apk/release/*.apk
|
||||||
|
|
||||||
|
# Local configuration files
|
||||||
|
gradle.properties.local
|
||||||
|
local.properties
|
||||||
|
local-repo/
|
||||||
|
|
||||||
|
# Temporary files
|
||||||
|
cleanup_project.sh
|
||||||
|
*.tmp
|
||||||
|
*.temp
|
||||||
|
|
||||||
|
# System files
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
|
||||||
|
# Duplicate release directories
|
||||||
|
XMBOX-Release/
|
||||||
|
|
||||||
|
# Tools and utilities (not part of the project)
|
||||||
|
other/tools/bfg.jar
|
||||||
|
other/tools/cleaner.bat
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
# XMBOX Release Files
|
|
||||||
|
|
||||||
## 📁 文件结构
|
|
||||||
|
|
||||||
```
|
|
||||||
apk/release/
|
|
||||||
├── mobile.json # 最新版本信息 (手机版)
|
|
||||||
├── leanback.json # 最新版本信息 (TV版)
|
|
||||||
├── v3.0.7/ # v3.0.7版本文件
|
|
||||||
│ ├── mobile.json # v3.0.7版本信息
|
|
||||||
│ ├── leanback.json # v3.0.7版本信息
|
|
||||||
│ ├── mobile-arm64_v8a.apk
|
|
||||||
│ ├── mobile-armeabi_v7a.apk
|
|
||||||
│ ├── leanback-arm64_v8a.apk
|
|
||||||
│ └── leanback-armeabi_v7a.apk
|
|
||||||
└── v3.0.8/ # v3.0.8版本文件
|
|
||||||
├── mobile.json # v3.0.8版本信息
|
|
||||||
├── leanback.json # v3.0.8版本信息
|
|
||||||
├── mobile-arm64_v8a-v3.0.8.apk
|
|
||||||
├── mobile-armeabi_v7a-v3.0.8.apk
|
|
||||||
├── leanback-arm64_v8a-v3.0.8.apk
|
|
||||||
└── leanback-armeabi_v7a-v3.0.8.apk
|
|
||||||
```
|
|
||||||
|
|
||||||
## 📱 版本说明
|
|
||||||
|
|
||||||
### v3.0.8 (最新版本)
|
|
||||||
- **发布时间**: 2025-10-14
|
|
||||||
- **版本代码**: 308
|
|
||||||
- **主要更新**: UI交互体验全面优化
|
|
||||||
|
|
||||||
### v3.0.7
|
|
||||||
- **发布时间**: 2025-09-26
|
|
||||||
- **版本代码**: 307
|
|
||||||
- **主要更新**: 全面优化稳定性和用户体验
|
|
||||||
|
|
||||||
## 🔗 下载链接
|
|
||||||
|
|
||||||
### 最新版本 (v3.0.8)
|
|
||||||
- **手机版 ARM64**: [mobile-arm64_v8a-v3.0.8.apk](v3.0.8/mobile-arm64_v8a-v3.0.8.apk)
|
|
||||||
- **手机版 ARMv7**: [mobile-armeabi_v7a-v3.0.8.apk](v3.0.8/mobile-armeabi_v7a-v3.0.8.apk)
|
|
||||||
- **TV版 ARM64**: [leanback-arm64_v8a-v3.0.8.apk](v3.0.8/leanback-arm64_v8a-v3.0.8.apk)
|
|
||||||
- **TV版 ARMv7**: [leanback-armeabi_v7a-v3.0.8.apk](v3.0.8/leanback-armeabi_v7a-v3.0.8.apk)
|
|
||||||
|
|
||||||
### 历史版本
|
|
||||||
- **v3.0.7**: [查看v3.0.7版本文件](v3.0.7/)
|
|
||||||
|
|
||||||
## 📋 版本信息
|
|
||||||
|
|
||||||
每个版本目录都包含对应的JSON配置文件,包含:
|
|
||||||
- `name`: 版本号
|
|
||||||
- `desc`: 版本描述和更新内容
|
|
||||||
- `code`: 版本代码
|
|
||||||
- `downloads`: 下载链接映射 (仅根目录文件)
|
|
||||||
|
|
||||||
## 🔐 签名信息
|
|
||||||
|
|
||||||
所有APK文件均使用多重签名保护:
|
|
||||||
- ✅ v1 (JAR签名) - 最佳兼容性
|
|
||||||
- ✅ v2 (APK签名方案v2) - 全文件签名
|
|
||||||
- ✅ v3 (APK签名方案v3) - 支持密钥轮换
|
|
||||||
- ✅ v4 (APK签名方案v4) - 增量签名
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "3.1.0",
|
|
||||||
"desc": "XMBOX TV版 v3.1.0\n\n✨ 新功能:\n• 实现定时按钮倒计时显示功能\n• 适配pixel主题化图标展示\n\n🎨 UI优化:\n• 优化TimerDialog按钮宽度设计\n• 优化播放进度条交互体验\n• 改进界面视觉一致性\n\n🐛 修复:\n• 修复更新跳转链接,跳转到具体版本页面\n\n🔧 改进优化:\n• 提升定时功能用户体验\n• 优化内存使用\n• 提升播放稳定性\n\n📺 支持架构:ARM64-v8a | ARMv7a",
|
|
||||||
"code": 310,
|
|
||||||
"downloads": {
|
|
||||||
"arm64_v8a": "v3.1.0/leanback-arm64_v8a-v3.1.0.apk",
|
|
||||||
"armeabi_v7a": "v3.1.0/leanback-armeabi_v7a-v3.1.0.apk"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "3.1.0",
|
|
||||||
"desc": "XMBOX 手机版 v3.1.0\n\n✨ 新功能:\n• 实现定时按钮倒计时显示功能\n• 适配pixel主题化图标展示\n\n🎨 UI优化:\n• 优化TimerDialog按钮宽度设计\n• 优化播放进度条交互体验\n• 改进界面视觉一致性\n\n🐛 修复:\n• 修复更新跳转链接,跳转到具体版本页面\n\n🔧 改进优化:\n• 提升定时功能用户体验\n• 优化内存使用\n• 提升播放稳定性\n\n📱 支持架构:ARM64-v8a | ARMv7a",
|
|
||||||
"code": 310,
|
|
||||||
"downloads": {
|
|
||||||
"arm64_v8a": "v3.1.0/mobile-arm64_v8a-v3.1.0.apk",
|
|
||||||
"armeabi_v7a": "v3.1.0/mobile-armeabi_v7a-v3.1.0.apk"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "3.0.7",
|
|
||||||
"desc": "XMBOX TV版 v3.0.7 (Android TV/机顶盒专用)\n\n✨ UI优化:\n• 全新自定义开关按钮(黄色/黑色Material Design风格)\n• 优化电量百分比显示(16sp字号,2dp间距)\n• 精简设置页面,隐藏壁纸功能\n\n🔒 安全增强:\n• 启用v1/v2/v3/v4多重签名保护\n• 提升应用安全性和兼容性\n\n🔧 改进优化:\n• 修复设置页面崩溃问题\n• 优化大屏界面体验\n• 提升播放稳定性\n\n📺 专为电视优化:遥控器导航 | 10-foot UI | ARM64/ARMv7",
|
|
||||||
"code": 307
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "3.0.7",
|
|
||||||
"desc": "XMBOX 手机版 v3.0.7\n\n✨ UI优化:\n• 全新自定义开关按钮(黄色/黑色Material Design风格)\n• 优化电量百分比显示(16sp字号,2dp间距)\n• 精简设置页面,隐藏壁纸功能\n\n🔒 安全增强:\n• 启用v1/v2/v3/v4多重签名保护\n• 提升应用安全性和兼容性\n\n🔧 改进优化:\n• 修复设置页面崩溃问题\n• 优化内存使用\n• 提升播放稳定性\n\n📱 支持架构:ARM64-v8a | ARMv7a",
|
|
||||||
"code": 307
|
|
||||||
}
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "3.1.0",
|
|
||||||
"desc": "XMBOX TV版 v3.1.0\n\n✨ 新功能:\n• 实现定时按钮倒计时显示功能\n• 适配pixel主题化图标展示\n\n🎨 UI优化:\n• 优化TimerDialog按钮宽度设计\n• 优化播放进度条交互体验\n• 改进界面视觉一致性\n\n🐛 修复:\n• 修复更新跳转链接,跳转到具体版本页面\n\n🔧 改进优化:\n• 提升定时功能用户体验\n• 优化内存使用\n• 提升播放稳定性\n\n📺 支持架构:ARM64-v8a | ARMv7a",
|
|
||||||
"code": 310,
|
|
||||||
"downloads": {
|
|
||||||
"arm64_v8a": "v3.1.0/leanback-arm64_v8a-v3.1.0.apk",
|
|
||||||
"armeabi_v7a": "v3.1.0/leanback-armeabi_v7a-v3.1.0.apk"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "3.1.0",
|
|
||||||
"desc": "XMBOX 手机版 v3.1.0\n\n✨ 新功能:\n• 实现定时按钮倒计时显示功能\n• 适配pixel主题化图标展示\n\n🎨 UI优化:\n• 优化TimerDialog按钮宽度设计\n• 优化播放进度条交互体验\n• 改进界面视觉一致性\n\n🐛 修复:\n• 修复更新跳转链接,跳转到具体版本页面\n\n🔧 改进优化:\n• 提升定时功能用户体验\n• 优化内存使用\n• 提升播放稳定性\n\n📱 支持架构:ARM64-v8a | ARMv7a",
|
|
||||||
"code": 310,
|
|
||||||
"downloads": {
|
|
||||||
"arm64_v8a": "v3.1.0/mobile-arm64_v8a-v3.1.0.apk",
|
|
||||||
"armeabi_v7a": "v3.1.0/mobile-armeabi_v7a-v3.1.0.apk"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -131,6 +131,8 @@ public class App extends Application {
|
|||||||
OkHttp.get().setDoh(Doh.objectFrom(Setting.getDoh()));
|
OkHttp.get().setDoh(Doh.objectFrom(Setting.getDoh()));
|
||||||
EventBus.builder().addIndex(new EventIndex()).installDefaultEventBus();
|
EventBus.builder().addIndex(new EventIndex()).installDefaultEventBus();
|
||||||
CaocConfig.Builder.create().backgroundMode(CaocConfig.BACKGROUND_MODE_SILENT).errorActivity(CrashActivity.class).apply();
|
CaocConfig.Builder.create().backgroundMode(CaocConfig.BACKGROUND_MODE_SILENT).errorActivity(CrashActivity.class).apply();
|
||||||
|
// Ensure default notification channel exists for foreground playback service (TV flavor too)
|
||||||
|
Notify.createChannel();
|
||||||
|
|
||||||
// 初始化自动缓存清理
|
// 初始化自动缓存清理
|
||||||
initCacheCleaner();
|
initCacheCleaner();
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import android.Manifest;
|
|||||||
import android.app.Notification;
|
import android.app.Notification;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
|
import android.os.Build;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
@@ -40,7 +41,7 @@ public class Notify {
|
|||||||
|
|
||||||
public static void createChannel() {
|
public static void createChannel() {
|
||||||
NotificationManagerCompat notifyMgr = NotificationManagerCompat.from(App.get());
|
NotificationManagerCompat notifyMgr = NotificationManagerCompat.from(App.get());
|
||||||
notifyMgr.createNotificationChannel(new NotificationChannelCompat.Builder(DEFAULT, NotificationManagerCompat.IMPORTANCE_LOW).setName("TV").build());
|
notifyMgr.createNotificationChannel(new NotificationChannelCompat.Builder(DEFAULT, NotificationManagerCompat.IMPORTANCE_LOW).setName("XMBOX").build());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getError(int resId, Throwable e) {
|
public static String getError(int resId, Throwable e) {
|
||||||
@@ -49,7 +50,7 @@ public class Notify {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void show(Notification notification) {
|
public static void show(Notification notification) {
|
||||||
if (ActivityCompat.checkSelfPermission(App.get(), Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) return;
|
if (Build.VERSION.SDK_INT >= 33 && ActivityCompat.checkSelfPermission(App.get(), Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) return;
|
||||||
NotificationManagerCompat.from(App.get()).notify(ID, notification);
|
NotificationManagerCompat.from(App.get()).notify(ID, notification);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
<TextView
|
<TextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="本项目仅用于学习Android开发,代码改自FongMi/TV (https://github.com/FongMi/TV)。"
|
android:text="本项目仅用于学习Android开发,代码改自FongMi/TV项目。"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:layout_marginTop="8dp" />
|
android:layout_marginTop="8dp" />
|
||||||
|
|||||||
+1
-1
@@ -491,7 +491,7 @@ include ':thunder'
|
|||||||
include ':tvbus'
|
include ':tvbus'
|
||||||
include ':zlive'
|
include ':zlive'
|
||||||
|
|
||||||
rootProject.name = "TV"
|
rootProject.name = "XMBOX"
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
echo -e "${GREEN}依赖修复完成!${NC}"
|
echo -e "${GREEN}依赖修复完成!${NC}"
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
# 配置Java路径,使用Java 17而不是默认的Java 21
|
|
||||||
org.gradle.java.home=/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
|
|
||||||
|
|
||||||
# 增加构建内存
|
|
||||||
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError
|
|
||||||
|
|
||||||
# 启用并行构建
|
|
||||||
org.gradle.parallel=true
|
|
||||||
org.gradle.caching=true
|
|
||||||
|
|
||||||
# 配置网络设置
|
|
||||||
systemProp.https.protocols=TLSv1.2,TLSv1.3
|
|
||||||
systemProp.https.proxyPort=0
|
|
||||||
systemProp.https.nonProxyHosts=localhost
|
|
||||||
|
|
||||||
# Android相关配置
|
|
||||||
android.useAndroidX=true
|
|
||||||
android.enableJetifier=true
|
|
||||||
android.jetifier.ignorelist=bcprov-jdk15on,annotation-experimental-1.4.1.aar,activity-1.8.0.aar,nextlib-media3ext-0.8.4.aar,sardine-android-0.9.aar,bcprov-jdk18on-1.79.jar
|
|
||||||
|
|
||||||
# 允许高版本的SDK
|
|
||||||
android.suppressUnsupportedCompileSdk=35
|
|
||||||
|
|
||||||
# 禁用增量编译以解决某些兼容性问题
|
|
||||||
android.enableBuildIncremental=false
|
|
||||||
Binary file not shown.
@@ -1,7 +0,0 @@
|
|||||||
git clone --mirror https://github.com/FongMi/Release.git
|
|
||||||
java -jar bfg.jar --delete-files *.apk Release.git
|
|
||||||
java -jar bfg.jar --delete-files *.json Release.git
|
|
||||||
cd Release.git
|
|
||||||
git reflog expire --expire=now --all && git gc --prune=now --aggressive
|
|
||||||
git push
|
|
||||||
git gc
|
|
||||||
+2
-2
@@ -20,6 +20,6 @@ dependencyResolutionManagement {
|
|||||||
}
|
}
|
||||||
include ':app'
|
include ':app'
|
||||||
include ':catvod'
|
include ':catvod'
|
||||||
include ':chaquo'
|
// include ':chaquo' // 已移除Python支持
|
||||||
include ':quickjs'
|
include ':quickjs'
|
||||||
rootProject.name = "TV"
|
rootProject.name = "XMBOX"
|
||||||
|
|||||||
Reference in New Issue
Block a user