From 63f088e5fc9701fd7fb329dad7ffb27a2d8fd5aa Mon Sep 17 00:00:00 2001 From: Amr Bashir Date: Wed, 5 Apr 2023 21:10:43 +0200 Subject: [PATCH] feat(cli): add `--release` for `android dev` (#6638) Co-authored-by: Lucas Nogueira closes #6594 --- .changes/cli-android-dev-release.md | 6 ++++++ tooling/cli/src/mobile/android/dev.rs | 20 +++++++++++++++++--- tooling/cli/src/mobile/mod.rs | 3 +-- 3 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 .changes/cli-android-dev-release.md diff --git a/.changes/cli-android-dev-release.md b/.changes/cli-android-dev-release.md new file mode 100644 index 000000000..1c540f81f --- /dev/null +++ b/.changes/cli-android-dev-release.md @@ -0,0 +1,6 @@ +--- +'cli.rs': 'patch' +'cli.js': 'patch' +--- + +Add `--release` flag for `tauri android dev` however you will need to sign your Android app, see https://next--tauri.netlify.app/next/guides/distribution/sign-android diff --git a/tooling/cli/src/mobile/android/dev.rs b/tooling/cli/src/mobile/android/dev.rs index a4177cbce..6e42c5b33 100644 --- a/tooling/cli/src/mobile/android/dev.rs +++ b/tooling/cli/src/mobile/android/dev.rs @@ -68,6 +68,9 @@ pub struct Options { /// Force prompting for an IP to use to connect to the dev server on mobile. #[clap(long)] pub force_ip_prompt: bool, + /// Run the code in release mode + #[clap(long = "release")] + pub release_mode: bool, } impl From for DevOptions { @@ -78,12 +81,12 @@ impl From for DevOptions { features: options.features, exit_on_panic: options.exit_on_panic, config: options.config, - release_mode: false, args: Vec::new(), no_watch: options.no_watch, no_dev_server: options.no_dev_server, port: options.port, force_ip_prompt: options.force_ip_prompt, + release_mode: options.release_mode, } } } @@ -152,14 +155,25 @@ fn run_dev( .values() .find(|t| t.triple == target_triple) .unwrap_or_else(|| Target::all().values().next().unwrap()); - target.build(config, metadata, &env, noise_level, true, Profile::Debug)?; + target.build( + config, + metadata, + &env, + noise_level, + true, + if options.release_mode { + Profile::Release + } else { + Profile::Debug + }, + )?; let open = options.open; let exit_on_panic = options.exit_on_panic; let no_watch = options.no_watch; interface.mobile_dev( MobileOptions { - debug: true, + debug: !options.release_mode, features: options.features, args: Vec::new(), config: options.config, diff --git a/tooling/cli/src/mobile/mod.rs b/tooling/cli/src/mobile/mod.rs index a2333b7bf..92dfed83a 100644 --- a/tooling/cli/src/mobile/mod.rs +++ b/tooling/cli/src/mobile/mod.rs @@ -316,8 +316,7 @@ fn ensure_init(project_dir: PathBuf, target: Target) -> Result<()> { target.command_name(), ) } else { - #[allow(irrefutable_let_patterns)] - if let Target::Android = target { + if target == Target::Android { create_dir_all(project_dir.join(".tauri").join("plugins"))?; } Ok(())