diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 6a53806..1a86c9f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -13,8 +13,8 @@ android { applicationId = "com.a2i.forwarder" minSdk = 34 targetSdk = 36 - versionCode = 28 - versionName = "1.8.11" + versionCode = 29 + versionName = "1.9.0" } signingConfigs { diff --git a/app/src/main/java/com/a2i/forwarder/core/UpdateChecker.kt b/app/src/main/java/com/a2i/forwarder/core/UpdateChecker.kt index 8e67deb..544bf3a 100644 --- a/app/src/main/java/com/a2i/forwarder/core/UpdateChecker.kt +++ b/app/src/main/java/com/a2i/forwarder/core/UpdateChecker.kt @@ -69,13 +69,14 @@ class UpdateChecker(private val context: Context) { if (throttle && now - settings.lastUpdateCheckTime.value < CHECK_INTERVAL_MS) return@runCatching updateInfo.value // 先查 GitHub(公开默认源),从其 release notes 动态发现额外源(如自建 Gitea),取最高版本 + // 同版本时 Gitea 优先(国内可达,GitHub 可能被墙导致下载失败) val infos = mutableListOf() val gh = runCatching { fetchRelease(GITHUB_API) }.getOrNull() if (gh != null) { + val giteaInfo = parseUpdateSource(gh.releaseNotes)?.let { runCatching { fetchRelease(it) }.getOrNull() } + // Gitea 放前面,同版本时优先用它下载(国内可达) + if (giteaInfo != null) infos.add(giteaInfo) infos.add(gh) - parseUpdateSource(gh.releaseNotes)?.let { src -> - runCatching { fetchRelease(src) }.getOrNull()?.let { infos.add(it) } - } } settings.setLastUpdateCheck(now) if (infos.isEmpty()) {