-
-
Notifications
You must be signed in to change notification settings - Fork 32
AGP 9 Migration: Implement proper custom APK naming pattern #579
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Problem
The old applicationVariants.all API for customizing APK output filenames was deprecated and removed in AGP 9. The previous implementation used:
applicationVariants.all {
outputs.all {
(this as BaseVariantOutputImpl).outputFileName =
"Jetpack_release_v${versionName}_${timestamp}.apk"
}
}This is no longer supported as:
applicationVariantsis replaced byandroidComponents.onVariants- Direct
outputFilemanipulation is removed BaseVariantOutputImplis an internal deprecated API
Current State
Using default AGP naming scheme. Custom naming logic has been removed.
Location: app/build.gradle.kts
Recommended Solution
Implement AGP 9-compatible approach using one of these methods:
Option 1: Variant Artifacts API
androidComponents {
onVariants { variant ->
variant.artifacts.use(taskProvider)
.wiredWith { it.apkFolder }
.toTransform(SingleArtifact.APK)
}
}Option 2: Task Customization
tasks.named<PackageApplication>("package${variant.name.capitalize()}") {
doLast {
// Rename APK after packaging
}
}Desired Output Format
Jetpack_release_v{version}_{timestamp}.apk
Example: Jetpack_release_v1.2.7_2026_03_13_10_30_PM.apk
References
- Android Gradle Recipes - Variant Output
- Extend AGP Documentation
- Medium Guide on Custom Output Names
Labels
- enhancement
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request