-
-
Notifications
You must be signed in to change notification settings - Fork 51
Open
Description
AGP 4+ contains new APIs for accessing build variants (and the APKs produced for each of them), and the existing APIs have been deprecated.
The main differences appear to be:
com.android.build.gradle.api.TestVarianthas been replaced bycom.android.build.api.variant.AndroidTest.- Instead of using
com.android.build.gradle.AppExtensionandcom.android.build.gradle.TestedExtensionto access build variants, one needs to usecom.android.build.api.variant.ApplicationAndroidComponentsExtensionto accesscom.android.build.api.variant.ApplicationVariant, which has aandroidTest: AndroidTest?property for the corresponding instrumentation test variant. (Andcom.android.build.api.variant.LibraryAndroidComponentsExtensionto accesscom.android.build.api.variant.LibraryVariant.) ApplicationVariant,LibraryVariant, andAndroidTestexpose their outputs ascom.android.build.api.variant.VariantOutputs, but there's no longer a way to get the path to each APK output via that API. Instead, one has to use thecom.android.build.api.artifact.ArtifactsAPI to access aDirectoryPropertyfor the folder the APKs are placed in, and useBuiltArtifactsLoaderto access the outputs within a task action.- There's an example here: https://github.com/android/gradle-recipes/blob/agp-7.0/Kotlin/getApksTest/app/build.gradle.kts
I've taken a stab at the update here, but the BuiltArtifactsLoader change is a bit tricky: master...jschear:js/agp_7
xymelon
Metadata
Metadata
Assignees
Labels
No labels