Structure
AndroidConfig
Android-specific configuration for the android: Shipfile block.
struct AndroidConfigOverview
When platform resolves to .android, the ConfigResolver merges this block on top of shared Shipfile defaults.
Shipfile.yml Example
android:
module: app
package_name: com.example.myapp
build_type: aabTopics
Initializers
init(cli: AndroidCLIConfig?, buildSystem: BuildSystem?, module: String?, scope: GradleTaskScope?, testKind: TestKind?, testDevices: TestDeviceConfig?, buildVariant: String?, buildType: AndroidBuildType?, gradlewPath: String?, gradleProjectDir: String?, keystorePath: String?, keystoreAlias: String?, packageName: String?, rolloutFraction: Double?, gradleProperties: [String : String]?, flavor: String?, gradleFlags: [String]?)Creates an
AndroidConfig.init(from: any Decoder) throws
Instance Properties
var buildSystem: BuildSystem?Build system that produces the Android artifact. Defaults to
BuildSystem.native. Set to.flutter,.reactNative, or.kmpwhen the same source tree drives the Android target via a cross-platform tool.var buildType: AndroidBuildType?Output artifact type. Defaults to
.aabfor Play Store compatibility.var buildVariant: String?Build variant (e.g.
release,debug). Defaults to"release".var cli: AndroidCLIConfig?Optional integration with Google’s preview Android CLI.
var flavor: String?Product flavor name (e.g.
free,paid). Combined withbuildVariantfor task names.var gradleFlags: [String]?Additional Gradle flags such as
--no-daemon,--parallel,--configuration-cache.var gradleProjectDir: String?Directory containing the Gradle root project. Defaults to the Shipfile directory.
var gradleProperties: [String : String]?Additional Gradle
-Pproperties passed verbatim to everygradlewinvocation.var gradlewPath: String?Path to the
gradlewwrapper script. Auto-detected in the project root if nil.var keystoreAlias: String?Signing key alias within the keystore.
var keystorePath: String?Path to the Android keystore (
.jks/.keystore) file.var module: String?Gradle module name (e.g.
app). Defaults to"app".var packageName: String?Android application package name (e.g.
com.example.myapp).var rolloutFraction: Double?Staged rollout fraction (0.0–1.0).
nilmeans full rollout (completedstatus).var scope: GradleTaskScope?Default scope for Android Gradle test tasks.
var testDevices: TestDeviceConfig?Default device configuration for Android instrumented tests.
var testKind: TestKind?Default test kind for Android test steps.
Relationships
Conforms To
Swift.DecodableSwift.EncodableSwift.SendableSwift.SendableMetatype