Expand description
Supports Android-specific Java build and run tasks in Rust projects from a Cargo build script.
§Tools exposed by this crate
§Environment variables in use
ANDROID_HOME
orANDROID_SDK_ROOT
: path to the Android SDK directory.ANDROID_BUILD_TOOLS_VERSION
: the version of the Android build tools.- Examples:
33.0.1
,34.0.0-rc2
. - This must be fully specified all in one string.
- Examples:
ANDROID_PLATFORM
,ANDROID_API_LEVEL
, orANDROID_SDK_VERSION
: the platform version string (aka API level, SDK version) being targeted for compilation.- All three of these environment variables are treated identically.
- Examples:
34
,android-34
,android-33
,33
. - If an SDK extension must be specified, use the full string with the
android
prefix like so:android-33-ext4
. - This may or may not include the SDK extension level as a suffix
(see
ANDROID_SDK_EXTENSION
below).
ANDROID_SDK_EXTENSION
: the extension of the Android SDK.- To specify
android-33-ext4
, this can be set to-ext4
,ext4
, or just4
. All of these will be treated identically. - If
ANDROID_PLATFORM
/ANDROID_API_LEVEL
/ANDROID_SDK_VERSION
already includes an extension, thenANDROID_SDK_EXTENSION
will be ignored.
- To specify
ANDROID_D8_JAR
: the path to thed8.jar
file.ANDROID_JAR
: the path to theandroid.jar
file.JAVA_HOME
: the Java SDK directory.
§Acknowledgments
This crate simplifies some code found in other crates:
dirs-sys
for the Windows-specific home directory lookup.java-locator
for finding the Java home directory on macOS, Linux, and Windows.jerk
for arguments that can be passed intojava
andjavac
commands.
Structs§
- Debug
Info - Debug information to include in the output of a
javac
build. - Java
Build - A builder for a
javac
command that can be invoked. - JavaRun
- A builder for a
java
command that can be invoked.
Constants§
- ANDROID_
API_ LEVEL - ANDROID_
BUILD_ TOOLS_ VERSION - ANDROID_
D8_ JAR - ANDROID_
HOME - ANDROID_
JAR - ANDROID_
PLATFORM - ANDROID_
SDK_ EXTENSION - ANDROID_
SDK_ ROOT - ANDROID_
SDK_ VERSION - JAVA_
HOME
Traits§
- PathExt
- An extension trait for checking if a path exists.
Functions§
- android_
d8_ jar - Returns the path to the
d8.jar
file for the given build tools version. - android_
jar - Returns the path to the
android.jar
file for the given API level. - android_
sdk - Returns the path to the Android SDK directory.
- java
- Returns the path to the
java
executable by looking for$JAVA_HOME/bin/java
. - java_
home - Returns the JAVA_HOME path by attempting to discover it.
- javac
- Returns the path to the
javac
compiler by looking for$JAVA_HOME/bin/javac
.