mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-06-14 03:32:00 +08:00
ci: 统一 Android APK 产物命名
This commit is contained in:
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@@ -252,7 +252,7 @@ jobs:
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: one-kvm-android-apk
|
||||
path: target/android/*.apk
|
||||
path: target/android/one-kvm_*.apk
|
||||
if-no-files-found: error
|
||||
retention-days: 7
|
||||
|
||||
|
||||
@@ -39,6 +39,11 @@ val androidBuildProfile = providers.environmentVariable("ONE_KVM_ANDROID_PROFILE
|
||||
.orElse("debug")
|
||||
.get()
|
||||
.lowercase()
|
||||
val oneKvmVersion = Regex("""(?m)^version\s*=\s*"([^"]+)"""")
|
||||
.find(rootCrateDir.file("Cargo.toml").asFile.readText())
|
||||
?.groupValues
|
||||
?.get(1)
|
||||
?: throw GradleException("Failed to resolve version from root Cargo.toml")
|
||||
val androidFfmpegSourceDir = rootProject.layout.projectDirectory
|
||||
.dir("../.tmp/android-ffmpeg-check/src/ffmpeg-rockchip")
|
||||
val localProperties = Properties().apply {
|
||||
@@ -163,7 +168,7 @@ android {
|
||||
minSdk = androidApiLevel
|
||||
targetSdk = 36
|
||||
versionCode = 1
|
||||
versionName = "0.1.0"
|
||||
versionName = oneKvmVersion
|
||||
}
|
||||
|
||||
productFlavors {
|
||||
|
||||
@@ -108,7 +108,7 @@ Environment:
|
||||
ONE_KVM_ANDROID_SKIP_DOCKER_BUILD=1 Reuse an already loaded Docker image
|
||||
|
||||
APK output:
|
||||
target/android/
|
||||
target/android/one-kvm_<version>_<arm32|arm64>.apk
|
||||
EOF
|
||||
;;
|
||||
*)
|
||||
|
||||
@@ -151,7 +151,7 @@ RUN printf '%s\n' \
|
||||
' help Show this help.' \
|
||||
'' \
|
||||
'APK output:' \
|
||||
' target/android/' \
|
||||
' target/android/one-kvm_<version>_<arm32|arm64>.apk' \
|
||||
'EOF' \
|
||||
'}' \
|
||||
'' \
|
||||
@@ -160,6 +160,13 @@ RUN printf '%s\n' \
|
||||
' exit 1' \
|
||||
'}' \
|
||||
'' \
|
||||
'read_project_version() {' \
|
||||
' local version' \
|
||||
' version="$(awk -F "\"" '"'"'/^version[[:space:]]*=/ { print $2; exit }'"'"' "$PROJECT_ROOT/Cargo.toml")"' \
|
||||
' [[ -n "$version" ]] || fail "Failed to resolve version from $PROJECT_ROOT/Cargo.toml"' \
|
||||
' printf "%s\n" "$version"' \
|
||||
'}' \
|
||||
'' \
|
||||
'copy_apks() {' \
|
||||
' local flavor="$1"' \
|
||||
' local src_dir="$ANDROID_DIR/app/build/outputs/apk/$flavor/$BUILD_TYPE"' \
|
||||
@@ -167,7 +174,7 @@ RUN printf '%s\n' \
|
||||
' mkdir -p "$OUTPUT_DIR"' \
|
||||
' for apk in "$src_dir"/*.apk; do' \
|
||||
' [[ -f "$apk" ]] || continue' \
|
||||
' sign_apk "$apk" "$OUTPUT_DIR/$(basename "${apk/-unsigned.apk/.apk}")"' \
|
||||
' sign_apk "$apk" "$OUTPUT_DIR/one-kvm_${PROJECT_VERSION}_${flavor}.apk"' \
|
||||
' found=1' \
|
||||
' done' \
|
||||
' [[ "$found" == "1" ]] || fail "No APK files found in: $src_dir"' \
|
||||
@@ -257,6 +264,7 @@ RUN printf '%s\n' \
|
||||
'' \
|
||||
'printf "sdk.dir=%s\n" "$ANDROID_HOME" > "$ANDROID_DIR/local.properties"' \
|
||||
'mkdir -p "$OUTPUT_DIR"' \
|
||||
'PROJECT_VERSION="$(read_project_version)"' \
|
||||
'' \
|
||||
'export ONE_KVM_ANDROID_PROFILE="$BUILD_TYPE"' \
|
||||
'export ONE_KVM_ANDROID_ABIS="$ANDROID_ABIS"' \
|
||||
@@ -269,6 +277,7 @@ RUN printf '%s\n' \
|
||||
'echo "Building Android APK"' \
|
||||
'echo " task: $GRADLE_TASK"' \
|
||||
'echo " profile: $ONE_KVM_ANDROID_PROFILE"' \
|
||||
'echo " version: $PROJECT_VERSION"' \
|
||||
'echo " abis: $ONE_KVM_ANDROID_ABIS"' \
|
||||
'echo " output: $OUTPUT_DIR"' \
|
||||
'echo " sdk: $ANDROID_HOME"' \
|
||||
|
||||
Reference in New Issue
Block a user