# ApplicationPublishing

# ApplicationPublishing

```
interface ApplicationPublishing : Publishing<ApplicationSingleVariant>
```

|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [com.android.build.api.dsl.ApplicationPublishing](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/ApplicationPublishing#) |

Maven publishing DSL object for configuring options related to publishing APK and AAB.

This following code example creates a publication for the fullRelease build variant, which publish your app as Android App Bundle.  

```gdscript
android {
    // This project has four build variants: fullDebug, fullRelease, demoDebug, demoRelease
    flavorDimensions 'mode'
    productFlavors {
        full {}
        demo {}
    }

    publishing {
        // Publish your app as an AAB
        singleVariant("fullRelease")
    }
}

afterEvaluate {
    publishing {
        publications {
            fullRelease(MavenPublication) {
                from components.fullRelease
                // ......
            }
        }
    }
}
```

To publish your app as a ZIP file of APKs, simply use the[ApplicationSingleVariant.publishApk](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/ApplicationSingleVariant#publishApk())as shown in the following example.  

```text
android {
    publishing {
        // Publish your app as a ZIP file of APKs
        singleVariant("fullRelease") {
            publishApk()
        }
    }
}
```

## Summary

| ### Inherited functions ||
|---|---|
| From class[Publishing](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Publishing) |------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [singleVariant](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Publishing#singleVariant(kotlin.String))`(`variantName:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`)` <br /> Publish a variant with single variant publishing mechanism. <br />                                                                                                                                      | | [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [singleVariant](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/Publishing#singleVariant(kotlin.String,%20kotlin.Function1))`(`variantName:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `action:` `SingleVariantT.()` `->` `[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`)` <br /> Publish a variant with single variant publishing options. <br /> | ||