[][src]Struct polyhorn_cli::android::Spec

pub struct Spec {
    pub package: String,
    pub version_code: usize,
    pub min_sdk_version: usize,
    pub target_sdk_version: usize,
    pub library: String,
}

This spec contains Android-specific settings.

Fields

package: String

This is the package identifier for Android that uniquely identifies your app on a user's device and within the Google Play Store. The package identifier usually looks like a reverse DNS name. The package identifier must contain of at least two segments, each segment must start with a letter and can only contain alphanumeric characters.

version_code: usize

This is the version code for Android. The version code is used to determine the order of multiple releases of the same app. Each subsequent release must have a version code that is strictly greater than the previous release's version code (but it is allowed to skip version codes in between). Additionally, this is also used by the OS to deny downgrades to earlier versions of your app (e.g. to protect against cases where you introduce backwards incompatible changes to a persistent storage format).

min_sdk_version: usize

This is the minimum API version that your app supports. If you're not bringing in your own native Java code, this should generally not be changed. In any case, don't change this to an API version lower than the Polyhorn default (16), because our own Java code might not be compatible with earlier API versions.

target_sdk_version: usize

This is the target API version that your app uses to build. We're currently compiling native Java code against the most recent Android API level. If you don't bring in your own Java code, you shouldn't need to change this. Even if you do bring in your own Java code, it's unlikely that you need to change this.

library: String

This is the name of the shared library that will contain your Rust code. End users will not be aware of this. It simply refers to the name of the shared library that will reside in jniLibs/*. Usually, this will be the lowercased last segment of the package identifier.

Trait Implementations

impl Clone for Spec[src]

impl Debug for Spec[src]

impl<'de> Deserialize<'de> for Spec[src]

impl Eq for Spec[src]

impl PartialEq<Spec> for Spec[src]

impl Serialize for Spec[src]

impl StructuralEq for Spec[src]

impl StructuralPartialEq for Spec[src]

Auto Trait Implementations

impl RefUnwindSafe for Spec

impl Send for Spec

impl Sync for Spec

impl Unpin for Spec

impl UnwindSafe for Spec

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,