Android versionCode field#5525
Conversation
|
Hmm... this definitely needs a solution, but I'm a little skeptical of computing it from Cargo version. I think for regular Android builds it's completely decoupled from the app version? (and IIRC it's common to bump the |
Yep, that's correct - that's why I said there's no matching concept in Rust; Cargo crates only have a semver. Do you think it's better to have the user set it in |
|
I encountered a few other Android-specific settings that are currently not configurable and are blockers for my ability to publish a real app using this framework; As a temporary workaround, I'm now building my app with a private fork of @nicoburns if you're up for discussing how you would like to see these sorts of settings being set, I'd be glad to write an implementation and contribute my code upstream. The current list of settings I'm missing and had to hijack with an env var:
|
|
@hadeutscher I'm definitely interested in all 3 of those (for the same reasons as you are: Play Store publishing):
|
For version code - there's a third option of putting it in Cargo.toml using the For icons, I don't really mind, I use PNG icons which I've generated from an SVG myself and I think that's good enough, I don't think adding complex SVG to %s conversions is required at this early stage and VectorDrawable is an annoying format to work with (even the official SVG to vector conversion in Android Studio messes up my icons beyond repair, so I don't use it). I also think it's a decent compromise to just let the user specify the |
Hey
Pinning
versionCodeto 1 causes issues when deploying the app to Google Play because they require version codes to advance with each deployment. I'm not sure exactly what to do since Rust doesn't have a semantic likeversionCode; I thought converting the semver to versionCode like this might be a decent compromise (the downsides are that the semver prerelease field doesn't get projected, and that we clamp the range of each semver component from 64-bit to 1000).Other options I can think of - setting it from
[android]in Dioxus.toml (seems kind of clunky since it's far from where the crate's version is defined); requiring ametadatasection in the crate's Cargo.toml to specify the version code.Let me know what you think.