fix(android): check version code in release mode (#9898)

This commit is contained in:
Jason Tsai 2024-05-28 22:37:38 +08:00 committed by GitHub
parent aa55e03354
commit adac2185a3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 24 additions and 1 deletions

View File

@ -0,0 +1,5 @@
---
"tauri-build": patch:enhance
---
Check for Android version code before building the package in release mode.

View File

@ -8,6 +8,8 @@ use anyhow::{Context, Result};
use semver::Version;
use tauri_utils::config::Config;
use crate::is_dev;
pub fn generate_gradle_files(project_dir: PathBuf, config: &Config) -> Result<()> {
let gradle_settings_path = project_dir.join("tauri.settings.gradle");
let app_build_gradle_path = project_dir.join("app").join("tauri.build.gradle.kts");
@ -57,7 +59,23 @@ dependencies {"
if let Some(version_code) = config.bundle.android.version_code.as_ref() {
app_tauri_properties.push(format!("tauri.android.versionCode={}", version_code));
} else if let Ok(version) = Version::parse(version) {
let version_code = version.major * 1000000 + version.minor * 1000 + version.patch;
let mut version_code = version.major * 1000000 + version.minor * 1000 + version.patch;
if is_dev() {
version_code = version_code.clamp(1, 2100000000);
}
if version_code == 0 {
return Err(anyhow::anyhow!(
"You must change the `version` in `tauri.conf.json`. The default value `0.0.0` is not allowed for Android package and must be at least `0.0.1`."
));
} else if version_code > 2100000000 {
return Err(anyhow::anyhow!(
"Invalid version code {}. Version code must be between 1 and 2100000000. You must change the `version` in `tauri.conf.json`.",
version_code
));
}
app_tauri_properties.push(format!("tauri.android.versionCode={}", version_code));
}
}