В моем проекте я хотел бы создать класс, содержащий информацию о моих динамических c функциях. Динамические c функции добавляются следующим образом:
// In the base module’s build.gradle file.
android {
...
// Specifies dynamic feature modules that have a dependency on
// this base module.
dynamicFeatures = [":dynamic_feature", ":dynamic_feature2"]
}
Источник: https://developer.android.com/guide/app-bundle/at-install-delivery#base_feature_relationship
Я искал решения с тех пор несколько дней, и я не нашел много. В настоящее время мой плагин выглядит следующим образом:
class MyPlugin : Plugin<Project> {
override fun apply(project: Project) {
if (project == rootProject) {
throw Exception("This plugin cannot be applied to root project")
}
val parent = project.parent ?: throw Exception("Parent of project cannot be null")
val extension = project.extensions.getByName("android") as BaseAppModuleExtension?
?: throw Exception("Android extension cannot be null")
extension.dynamicFeatures
}
}
К сожалению, extension.dynamicFeatures пуст, даже если мой плагин применяется к файлу build.gradle, имеющему функции dynamici c.