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
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: one-kvm-android-apk
|
name: one-kvm-android-apk
|
||||||
path: target/android/*.apk
|
path: target/android/one-kvm_*.apk
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
retention-days: 7
|
retention-days: 7
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,11 @@ val androidBuildProfile = providers.environmentVariable("ONE_KVM_ANDROID_PROFILE
|
|||||||
.orElse("debug")
|
.orElse("debug")
|
||||||
.get()
|
.get()
|
||||||
.lowercase()
|
.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
|
val androidFfmpegSourceDir = rootProject.layout.projectDirectory
|
||||||
.dir("../.tmp/android-ffmpeg-check/src/ffmpeg-rockchip")
|
.dir("../.tmp/android-ffmpeg-check/src/ffmpeg-rockchip")
|
||||||
val localProperties = Properties().apply {
|
val localProperties = Properties().apply {
|
||||||
@@ -163,7 +168,7 @@ android {
|
|||||||
minSdk = androidApiLevel
|
minSdk = androidApiLevel
|
||||||
targetSdk = 36
|
targetSdk = 36
|
||||||
versionCode = 1
|
versionCode = 1
|
||||||
versionName = "0.1.0"
|
versionName = oneKvmVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
productFlavors {
|
productFlavors {
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ Environment:
|
|||||||
ONE_KVM_ANDROID_SKIP_DOCKER_BUILD=1 Reuse an already loaded Docker image
|
ONE_KVM_ANDROID_SKIP_DOCKER_BUILD=1 Reuse an already loaded Docker image
|
||||||
|
|
||||||
APK output:
|
APK output:
|
||||||
target/android/
|
target/android/one-kvm_<version>_<arm32|arm64>.apk
|
||||||
EOF
|
EOF
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ RUN printf '%s\n' \
|
|||||||
' help Show this help.' \
|
' help Show this help.' \
|
||||||
'' \
|
'' \
|
||||||
'APK output:' \
|
'APK output:' \
|
||||||
' target/android/' \
|
' target/android/one-kvm_<version>_<arm32|arm64>.apk' \
|
||||||
'EOF' \
|
'EOF' \
|
||||||
'}' \
|
'}' \
|
||||||
'' \
|
'' \
|
||||||
@@ -160,6 +160,13 @@ RUN printf '%s\n' \
|
|||||||
' exit 1' \
|
' 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() {' \
|
'copy_apks() {' \
|
||||||
' local flavor="$1"' \
|
' local flavor="$1"' \
|
||||||
' local src_dir="$ANDROID_DIR/app/build/outputs/apk/$flavor/$BUILD_TYPE"' \
|
' local src_dir="$ANDROID_DIR/app/build/outputs/apk/$flavor/$BUILD_TYPE"' \
|
||||||
@@ -167,7 +174,7 @@ RUN printf '%s\n' \
|
|||||||
' mkdir -p "$OUTPUT_DIR"' \
|
' mkdir -p "$OUTPUT_DIR"' \
|
||||||
' for apk in "$src_dir"/*.apk; do' \
|
' for apk in "$src_dir"/*.apk; do' \
|
||||||
' [[ -f "$apk" ]] || continue' \
|
' [[ -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' \
|
' found=1' \
|
||||||
' done' \
|
' done' \
|
||||||
' [[ "$found" == "1" ]] || fail "No APK files found in: $src_dir"' \
|
' [[ "$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"' \
|
'printf "sdk.dir=%s\n" "$ANDROID_HOME" > "$ANDROID_DIR/local.properties"' \
|
||||||
'mkdir -p "$OUTPUT_DIR"' \
|
'mkdir -p "$OUTPUT_DIR"' \
|
||||||
|
'PROJECT_VERSION="$(read_project_version)"' \
|
||||||
'' \
|
'' \
|
||||||
'export ONE_KVM_ANDROID_PROFILE="$BUILD_TYPE"' \
|
'export ONE_KVM_ANDROID_PROFILE="$BUILD_TYPE"' \
|
||||||
'export ONE_KVM_ANDROID_ABIS="$ANDROID_ABIS"' \
|
'export ONE_KVM_ANDROID_ABIS="$ANDROID_ABIS"' \
|
||||||
@@ -269,6 +277,7 @@ RUN printf '%s\n' \
|
|||||||
'echo "Building Android APK"' \
|
'echo "Building Android APK"' \
|
||||||
'echo " task: $GRADLE_TASK"' \
|
'echo " task: $GRADLE_TASK"' \
|
||||||
'echo " profile: $ONE_KVM_ANDROID_PROFILE"' \
|
'echo " profile: $ONE_KVM_ANDROID_PROFILE"' \
|
||||||
|
'echo " version: $PROJECT_VERSION"' \
|
||||||
'echo " abis: $ONE_KVM_ANDROID_ABIS"' \
|
'echo " abis: $ONE_KVM_ANDROID_ABIS"' \
|
||||||
'echo " output: $OUTPUT_DIR"' \
|
'echo " output: $OUTPUT_DIR"' \
|
||||||
'echo " sdk: $ANDROID_HOME"' \
|
'echo " sdk: $ANDROID_HOME"' \
|
||||||
|
|||||||
Reference in New Issue
Block a user