AndroidSdkModule

mill.androidlib.AndroidSdkModule
See theAndroidSdkModule companion object
@Scaladoc(value = "/**\n * Trait for managing the Android SDK in a Mill build system.\n *\n * This trait offers utility methods for automating the download, installation,\n * and configuration of the Android SDK, build tools, and other essential\n * components necessary for Android development. It facilitates setting up\n * an Android development environment, streamlining the process of building,\n * compiling, and packaging Android applications in a Mill project.\n *\n * For more information, refer to the official Android\n * [[https://developer.android.com/studio documentation]].\n */")
trait AndroidSdkModule extends Module

Trait for managing the Android SDK in a Mill build system.

This trait offers utility methods for automating the download, installation, and configuration of the Android SDK, build tools, and other essential components necessary for Android development. It facilitates setting up an Android development environment, streamlining the process of building, compiling, and packaging Android applications in a Mill project.

For more information, refer to the official Android documentation.

Attributes

Companion
object
Graph
Supertypes
trait Module
trait ModuleApi
trait Wrapper
class BaseClass
trait Cacher
trait Cacher
class Object
trait Matchable
class Any
Show all

Members list

Type members

Inherited classlikes

@Scaladoc(value = "/**\n * Miscellaneous machinery around traversing & querying the build hierarchy,\n * that should not be needed by normal users of Mill\n */")
object moduleInternal extends Internal

Miscellaneous machinery around traversing & querying the build hierarchy, that should not be needed by normal users of Mill

Miscellaneous machinery around traversing & querying the build hierarchy, that should not be needed by normal users of Mill

Attributes

Inherited from:
Module
Supertypes
class Internal
class Object
trait Matchable
class Any

Value members

Abstract methods

@Scaladoc(value = "/**\n * Specifies the version of the Android build tools to be used.\n */")
def buildToolsVersion: Target[String]

Specifies the version of the Android build tools to be used.

Specifies the version of the Android build tools to be used.

Attributes

Concrete methods

@Scaladoc(value = "/**\n * Provides the path to AAPT2, used for resource handling and APK packaging.\n *\n * For More Read AAPT2 [[https://developer.android.com/tools/aapt2 Documentation]]\n */")
def aapt2Path: Target[PathRef]

Provides the path to AAPT2, used for resource handling and APK packaging.

Provides the path to AAPT2, used for resource handling and APK packaging.

For More Read AAPT2 Documentation

Attributes

@Scaladoc(value = "/**\n * Provides the path for the Android Debug Bridge (adt) tool.\n *\n * For more information, refer to the official Android documentation [[https://developer.android.com/tools/adb]]\n */")
def adbPath: Target[PathRef]

Provides the path for the Android Debug Bridge (adt) tool.

Provides the path for the Android Debug Bridge (adt) tool.

For more information, refer to the official Android documentation https://developer.android.com/tools/adb

Attributes

@Scaladoc(value = "/**\n * Provides the path to the `android.jar` file, necessary for compiling Android apps.\n */")
def androidJarPath: Target[PathRef]

Provides the path to the android.jar file, necessary for compiling Android apps.

Provides the path to the android.jar file, necessary for compiling Android apps.

Attributes

@Scaladoc(value = "/**\n * Provides all the Android libraries classpaths, including `android.jar` and other necessary files,\n * for the Android R8 tool.\n */")
def androidLibsClasspaths: Target[Seq[PathRef]]

Provides all the Android libraries classpaths, including android.jar and other necessary files, for the Android R8 tool.

Provides all the Android libraries classpaths, including android.jar and other necessary files, for the Android R8 tool.

Attributes

@Scaladoc(value = "/**\n * Location of the default proguard optimisation config.\n * See also [[https://developer.android.com/build/shrink-code]]\n */")
def androidProguardPath: Target[PathRef]

Location of the default proguard optimisation config. See also https://developer.android.com/build/shrink-code

Location of the default proguard optimisation config. See also https://developer.android.com/build/shrink-code

Attributes

@Scaladoc(value = "/**\n * Provides the path to the APK signer tool, used to digitally sign APKs.\n *\n * For More Read APK Signer [[https://developer.android.com/tools/apksigner Documentation]]\n */")
def apksignerPath: Target[PathRef]

Provides the path to the APK signer tool, used to digitally sign APKs.

Provides the path to the APK signer tool, used to digitally sign APKs.

For More Read APK Signer Documentation

Attributes

@Scaladoc(value = "/**\n * Provides the path for the Android Virtual Device Manager (avdmanager) tool\n *\n * For more information refer to the official Android documentation [[https://developer.android.com/tools/avdmanager]]\n */")
def avdPath: Target[PathRef]

Provides the path for the Android Virtual Device Manager (avdmanager) tool

Provides the path for the Android Virtual Device Manager (avdmanager) tool

For more information refer to the official Android documentation https://developer.android.com/tools/avdmanager

Attributes

@Scaladoc(value = "/**\n * Provides path to the Android build tools for the selected version.\n */")
def buildToolsPath: Target[PathRef]

Provides path to the Android build tools for the selected version.

Provides path to the Android build tools for the selected version.

Attributes

@Scaladoc(value = "/**\n * Provides the path to the `bundleTool.jar` file, necessary for creating Android bundles.\n *\n * For More Read Bundle Tool [[https://developer.android.com/tools/bundletool Documentation]]\n */")
def bundleToolPath: Target[PathRef]

Provides the path to the bundleTool.jar file, necessary for creating Android bundles.

Provides the path to the bundleTool.jar file, necessary for creating Android bundles.

For More Read Bundle Tool Documentation

Attributes

@Scaladoc(value = "/**\n * URL to download bundle tool, used for creating Android app bundles (AAB files).\n */")
def bundleToolUrl: Target[String]

URL to download bundle tool, used for creating Android app bundles (AAB files).

URL to download bundle tool, used for creating Android app bundles (AAB files).

Attributes

@Scaladoc(value = "/**\n * Specifies the version of the Android Bundle tool to be used.\n */")
def bundleToolVersion: Target[String]

Specifies the version of the Android Bundle tool to be used.

Specifies the version of the Android Bundle tool to be used.

Attributes

def cmakePath: Target[PathRef]
def cmakeToolchainFilePath: Target[PathRef]
@Scaladoc(value = "/**\n * Specifies the version of CMake to be used.\n */")
def cmakeVersion: Target[String]

Specifies the version of CMake to be used.

Specifies the version of CMake to be used.

Attributes

@Scaladoc(value = "/**\n * Provides path to D8 Dex compiler, used for converting Java bytecode into Dalvik bytecode.\n *\n * For More Read D8 [[https://developer.android.com/tools/d8 Documentation]]\n */")
def d8Path: Target[PathRef]

Provides path to D8 Dex compiler, used for converting Java bytecode into Dalvik bytecode.

Provides path to D8 Dex compiler, used for converting Java bytecode into Dalvik bytecode.

For More Read D8 Documentation

Attributes

@Scaladoc(value = "/**\n * Provides the path for the android emulator tool\n *\n * For more information refer to [[https://developer.android.com/studio/run/emulator]]\n */")
def emulatorPath: Target[PathRef]

Provides the path for the android emulator tool

Provides the path for the android emulator tool

For more information refer to https://developer.android.com/studio/run/emulator

Attributes

def fontsPath: Target[PathRef]
@Scaladoc(value = "/**\n * Install the Android NDK (Native Development Kit) for building native code.\n */")
def installAndroidNdk: Target[Unit]

Install the Android NDK (Native Development Kit) for building native code.

Install the Android NDK (Native Development Kit) for building native code.

Attributes

@Scaladoc(value = "/**\n * Installs the necessary Android SDK components such as platform-tools, build-tools, and Android platforms.\n *\n * For more details on the `sdkmanager` tool, refer to:\n * [[https://developer.android.com/tools/sdkmanager sdkmanager Documentation]]\n */")
def installAndroidSdkComponents: Target[Unit]

Installs the necessary Android SDK components such as platform-tools, build-tools, and Android platforms.

Installs the necessary Android SDK components such as platform-tools, build-tools, and Android platforms.

For more details on the sdkmanager tool, refer to: sdkmanager Documentation

Attributes

@Scaladoc(value = "/**\n * Provides path to the Android CLI lint tool.\n */")
def lintToolPath: Target[PathRef]

Provides path to the Android CLI lint tool.

Provides path to the Android CLI lint tool.

Attributes

@Scaladoc(value = "/**\n * Specifies the version of the Manifest Merger.\n */")
def manifestMergerVersion: Target[String]

Specifies the version of the Manifest Merger.

Specifies the version of the Manifest Merger.

Attributes

def ndkPath: Target[PathRef]
@Scaladoc(value = "/**\n * Specifies the version of the Android NDK (Native Development Kit) to be used.\n */")
def ndkVersion: Target[String]

Specifies the version of the Android NDK (Native Development Kit) to be used.

Specifies the version of the Android NDK (Native Development Kit) to be used.

Attributes

def ninjaPath: Target[PathRef]
@Scaladoc(value = "/**\n * Specifies the Android platform version (e.g., Android API level).\n */")
def platformsVersion: Target[String]

Specifies the Android platform version (e.g., Android API level).

Specifies the Android platform version (e.g., Android API level).

Attributes

@Scaladoc(value = "/**\n * Provides the path for the r8 tool, used for code shrinking and optimization.\n *\n * @return A task containing a [[PathRef]] pointing to the r8 directory.\n */")
def r8Exe: Target[PathRef]

Provides the path for the r8 tool, used for code shrinking and optimization.

Provides the path for the r8 tool, used for code shrinking and optimization.

Attributes

Returns

A task containing a PathRef pointing to the r8 directory.

def remoteReposInfo(): Command[PathRef]
@Scaladoc(value = "/**\n * Provides the path for the Android SDK Manager tool\n *\n * @return A task containing a [[PathRef]] pointing to the SDK directory.\n */")
def sdkManagerPath: Target[PathRef]

Provides the path for the Android SDK Manager tool

Provides the path for the Android SDK Manager tool

Attributes

Returns

A task containing a PathRef pointing to the SDK directory.

@Scaladoc(value = "/**\n * Provides the path to the Zipalign tool, which optimizes APK files by aligning their data.\n *\n * For More Read Zipalign [[https://developer.android.com/tools/zipalign Documentation]]\n */")
def zipalignPath: Target[PathRef]

Provides the path to the Zipalign tool, which optimizes APK files by aligning their data.

Provides the path to the Zipalign tool, which optimizes APK files by aligning their data.

For More Read Zipalign Documentation

Attributes

Inherited methods

def moduleCtx: ModuleCtx

Attributes

Inherited from:
BaseClass
def moduleDir: Path

Attributes

Inherited from:
Module
def moduleDirJava: Path

Attributes

Inherited from:
Module
def moduleDirectChildren: Seq[Module]

Attributes

Inherited from:
Module
def moduleSegments: Segments

Attributes

Inherited from:
Module
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Module -> Any
Inherited from:
Module

Implicits

Inherited implicits

implicit def moduleNestedCtx: Nested

Attributes

Inherited from:
Module