diff --git a/Android-kotlin-Code/core/build.gradle.kts b/Android-kotlin-Code/core/build.gradle.kts
index 465edb5..bf6626f 100644
--- a/Android-kotlin-Code/core/build.gradle.kts
+++ b/Android-kotlin-Code/core/build.gradle.kts
@@ -45,6 +45,8 @@ android {
externalNativeBuild {
cmake {
+ // 设置cmake版本
+ version = "3.31.6"
path = file("src/main/cpp/CMakeLists.txt")
}
}
@@ -62,4 +64,4 @@ afterEvaluate {
tasks.withType(GolangBuildTask::class.java).forEach {
it.inputs.dir(golangSource)
}
-}
\ No newline at end of file
+}
diff --git a/Android-kotlin-Code/core/src/main/cpp/CMakeLists.txt b/Android-kotlin-Code/core/src/main/cpp/CMakeLists.txt
index ff188eb..4f50c2c 100644
--- a/Android-kotlin-Code/core/src/main/cpp/CMakeLists.txt
+++ b/Android-kotlin-Code/core/src/main/cpp/CMakeLists.txt
@@ -1,47 +1,57 @@
cmake_minimum_required(VERSION 3.0)
# 获取git hash
-
message(STATUS "CMAKE_CURRENT_SOURCE_DIR= ${CMAKE_CURRENT_SOURCE_DIR}")
execute_process(
COMMAND git submodule foreach git log -1 --format=%H
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_VARIABLE COMMIT_HASH
)
-string(REPLACE "\n" ";" COMMIT_HASH "${COMMIT_HASH}")
-list(GET COMMIT_HASH 1 COMMIT_HASH)
-string (REGEX REPLACE "[\n\t\r]" "" COMMIT_HASH ${COMMIT_HASH})
-string(SUBSTRING ${COMMIT_HASH} 0 7 COMMIT_HASH)
-message(STATUS "git hash= ${COMMIT_HASH}")
-# 获取分支名称
-execute_process(
- COMMAND git submodule foreach git branch -r --contains ${COMMIT_HASH}
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- OUTPUT_VARIABLE CURRENT_BRANCH
-)
-string(REPLACE "\n" ";" CURRENT_BRANCH "${CURRENT_BRANCH}")
-list(GET CURRENT_BRANCH 1 CURRENT_BRANCH)
-string (REGEX REPLACE "origin/" "" CURRENT_BRANCH ${CURRENT_BRANCH} "")
-string (REGEX REPLACE "[\n\t\r]" "" CURRENT_BRANCH ${CURRENT_BRANCH} "")
-#string(SUBSTRING ${CURRENT_BRANCH} 0 8 CURRENT_BRANCH)
-message(STATUS "git current branch = ${CURRENT_BRANCH}")
+# 判断是否获取到了git hash值(规避如因项目目录非git repository等原因产生的获取异常而中断build)
+string(LENGTH ${COMMIT_HASH} OUTPUT_VARIABLE COMMIT_HASH_LENGTH)
+string(COMPARE LESS ${COMMIT_HASH_LENGTH} "40" OUTPUT_VARIABLE GIT_HASH_COMPARISON_RESULT)
+if(NOT ${GIT_HASH_COMPARISON_RESULT})
+ string(REPLACE "\n" ";" COMMIT_HASH "${COMMIT_HASH}")
+ list(GET COMMIT_HASH 1 COMMIT_HASH)
+ string (REGEX REPLACE "[\n\t\r]" "" COMMIT_HASH ${COMMIT_HASH})
+ #string(SUBSTRING ${COMMIT_HASH} 0 7 COMMIT_HASH)
+ message(STATUS "git hash= ${COMMIT_HASH}")
-# 获取生成时间
-string(TIMESTAMP COMPILE_TIME "%y%m%d")
-string (REGEX REPLACE "[\n\t\r]" "" COMPILE_TIME ${COMPILE_TIME})
-string(REGEX REPLACE "\"" "" COMPILE_TIME ${COMPILE_TIME})
+ # 获取git分支名称
+ execute_process(
+ COMMAND git submodule foreach git branch -r --contains ${COMMIT_HASH}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ OUTPUT_VARIABLE CURRENT_BRANCH
+ )
-# 生成版本信息
-set(GIT_VERSION "${CURRENT_BRANCH}_${COMMIT_HASH}_${COMPILE_TIME}")
-message(STATUS "version info = ${GIT_VERSION}")
+ string(REPLACE "\n" ";" CURRENT_BRANCH "${CURRENT_BRANCH}")
+ list(GET CURRENT_BRANCH 1 CURRENT_BRANCH)
+ string (REGEX REPLACE "origin/" "" CURRENT_BRANCH ${CURRENT_BRANCH} "")
+ string (REGEX REPLACE "[\n\t\r]" "" CURRENT_BRANCH ${CURRENT_BRANCH} "")
+ string(SUBSTRING ${CURRENT_BRANCH} 0 8 CURRENT_BRANCH)
+ message(STATUS "git current branch = ${CURRENT_BRANCH}")
-# 去除空格
-string(REGEX REPLACE "[ ]+" "" GIT_VERSION "${GIT_VERSION}")
+ # 获取生成时间
+ string(TIMESTAMP COMPILE_TIME "%y%m%d")
+ string (REGEX REPLACE "[\n\t\r]" "" COMPILE_TIME ${COMPILE_TIME})
+ string(REGEX REPLACE "\"" "" COMPILE_TIME ${COMPILE_TIME})
+
+ # 生成版本信息
+ set(GIT_VERSION "${CURRENT_BRANCH}_${COMMIT_HASH}_${COMPILE_TIME}")
+ message(STATUS "version info = ${GIT_VERSION}")
+
+ # 去除空格
+ string(REGEX REPLACE "[ ]+" "" GIT_VERSION "${GIT_VERSION}")
+else()
+ message(AUTHOR_WARNING "Unable to get git hash, but build will continue.")
+
+endif()
# 保存变量到文件
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_SOURCE_DIR}/version.h @ONLY)
+#设置项目名称与语言类别(必)
project(clash-bridge C)
diff --git a/Android-kotlin-Code/design/build.gradle.kts b/Android-kotlin-Code/design/build.gradle.kts
index e1eff00..fc4d87a 100644
--- a/Android-kotlin-Code/design/build.gradle.kts
+++ b/Android-kotlin-Code/design/build.gradle.kts
@@ -32,6 +32,6 @@ dependencies {
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
implementation("com.github.bumptech.glide:glide:4.16.0")
- annotationProcessor("com.github.bumptech.glide:compiler:4.15.1")
+ kapt("com.github.bumptech.glide:compiler:4.15.1")
}
diff --git a/Android-kotlin-Code/local.properties b/Android-kotlin-Code/local.properties
index 07494f3..20a2110 100644
--- a/Android-kotlin-Code/local.properties
+++ b/Android-kotlin-Code/local.properties
@@ -6,3 +6,6 @@
# header note.
#Wed Dec 11 11:56:02 CST 2024
sdk.dir=/Volumes/TOSHIBA/androidstudio/sdk
+
+# 设置cmake(使用android studio SDK manager安装)路径至版本
+cmake.dir=C\:\\Users\\Administrator\\AppData\\Local\\Android\\Sdk\\cmake\\3.31.6
diff --git a/Android-kotlin-Code/settings.gradle.kts b/Android-kotlin-Code/settings.gradle.kts
index dadaee1..9af2f25 100644
--- a/Android-kotlin-Code/settings.gradle.kts
+++ b/Android-kotlin-Code/settings.gradle.kts
@@ -51,7 +51,7 @@ dependencyResolutionManagement {
library("androidx-activity", "androidx.activity:activity:$activity")
library("androidx-fragment", "androidx.fragment:fragment:$fragment")
library("androidx-appcompat", "androidx.appcompat:appcompat:$appcompat")
- library("androidx-appcompat", "androidx.appcompat:appcompat-resources:$appcompatres")
+ library("androidx-appcompat-resources", "androidx.appcompat:appcompat-resources:$appcompatres")
library("androidx-coordinator", "androidx.coordinatorlayout:coordinatorlayout:$coordinator")
library("androidx-recyclerview", "androidx.recyclerview:recyclerview:$recyclerview")
library("androidx-viewpager", "androidx.viewpager2:viewpager2:$viewpager")
@@ -64,4 +64,4 @@ dependencyResolutionManagement {
library("rikkax-multiprocess", "dev.rikka.rikkax.preference:multiprocess:$multiprocess")
}
}
-}
\ No newline at end of file
+}
diff --git a/README.md b/README.md
index 1ade0a1..e69de29 100644
--- a/README.md
+++ b/README.md
@@ -1,190 +0,0 @@
-## UUVPN - Redesigned for Performance, Stability, and [V2Board](https://github.com/cedar2025/Xboard) Compatibility
-
-The original UUVPN was built using Flutter, which led to increasing challenges in maintaining the codebase due to performance issues, subpar UI quality, and a lack of stability. To address these concerns, UUVPN has been completely redeveloped for native performance on iOS/macOS and Android, utilizing the powerful SINGBOX and CLASH cores.
-
-
-
-
-
-### The new version features:
-
-- A sleek, more responsive user interface
-- Enhanced app stability
-- Significant performance optimizations
-- Additionally, UUVPN now supports server backend protocols with full compatibility for V2Board, providing a more seamless and flexible user experience for VPN management.
-
-### Key Features:
-- Native Performance: Utilizing SINGBOX for iOS/macOS and CLASH for Android, UUVPN is optimized for stability and speed.
-- V2Board Compatibility: Fully supports V2Board protocols, offering smooth integration for backend management.
-- Refined UI: A completely redesigned interface with a modern look and feel, providing a user-friendly experience.
-
-
-### Download iOS and android
-- [iOS TestFlight (Beta)](https://t.me/dcgzeus)
-- [Android Apk](https://github.com/nicolastinkl/UUVPN/releases)
-
-## iOS Screenshots and Demo Video:
-
-### SKIN 1:
-
-
-
-
-### SKIN 2:
-
-
-
-
-### LOGIC VIEWS:
-
-
-
-
-
-
-  |
-  |
-  |
-
-
-
-
-
-  |
-  |
-  |
-
-
-
-
-
-
-
-## Vidos:
-
-
-
-## [iOS Youtu视频预览地址](https://www.youtube.com/shorts/tnr38-IM-Xo)
-
-
-# Android App Project
-
-
-## [Android Youtu视频预览地址](https://youtube.com/shorts/zI1hrpFJbtg?feature=share)
-
-
-
-## Prerequisites
-
-Before you begin, ensure you have met the following requirements:
-
-- **Operating System**: Any system that supports Android development (Windows, macOS, Linux).
-- **Java Development Kit (JDK)**: JDK 11 or higher.
-- **Android Studio**: The official IDE for Android development, version 4.1 or higher.
-- **Android SDK**: The latest version of the Android SDK tools.
-- **Go**: go version go1.23.2 darwin/amd64
-
-# Legacy Version (Original Flutter-based UUVPN)
-The following section contains information about the original Flutter-based UUVPN for historical reference. If you need the source code, you can check out the **flutter** branch
-
- Click to view the legacy version details
-# Old Description:
-
-
-
-# UUVPN
-基于Flutter开发的VPN客户端(ios/android),自主设计,精美UI,优化VPN速度,完全开源。
-
-A VPN application for [V2Board](https://github.com/v2board/v2board)
-
-Support iOS and Android now.
-
-
-
-**IF THIS PROJECT HELPS YOU, PLEASE GIVE ME A LITTLE STAR⭐️.**
-
-## Screenshots
-
-
-## App Store
-
-
-
-## Environment
-
-- Flutter Flutter 3.10.1 • channel stable • https://github.com/flutter/flutter.git
- Framework • revision d3d8effc68 (6 weeks ago) • 2023-05-16 17:59:05 -0700
- Engine • revision b4fb11214d
- Tools • Dart 3.0.1 • DevTools 2.23.1
- - Download this version url: https://drive.google.com/file/d/1ksM4_PK9Ibk7ycyrfF7XffM_99_4JYV3/view?usp=sharing
- - leaf sdk downlaod url: https://github.com/eycorsican/leaf/releases/tag/v0.10.7
-
-- macOS 13.3.1 +
-- Xcode 14 +
-- iOS 15.0 +
-
-## Installation
-
-```shell
-flutter pub get
-```
-
-## Develop
-```shell
-flutter run
-```
-
-## Build
-build android apk
-```shell
-flutter build apk
-```
-
-build ios
-```shell
-flutter build ios
-```
-
-----------------------
-
-# How to use it?
-
-
-
-
-- 1: Change Domain File Path : ~UUVPN/flutter/lib/constant/app_urls.dart
- ```
- static const String baseUrl = "https://xxxx.com";
- ```
-
-- 2: Xcode Settings:
-
-
-
-
-- 3: running screenshot:
-