gpt4 book ai didi

android-studio - ApplicationVariant、BaseVariantOutput 已弃用

转载 作者:行者123 更新时间:2023-12-05 04:35:09 25 4
gpt4 key购买 nike

我在 Android 应用程序项目的 Kotlin Dsl 文件中使用以下简化配置。

    class ApplicationVariantAction : Action<ApplicationVariant> {
override fun execute(variant: ApplicationVariant) {
val fileName = createFileName(variant)
variant.outputs.all(VariantOutputAction(fileName))
}

private fun createFileName(variant: ApplicationVariant): String {
return "Android" +
"_${variant.name}" +
"_${variant.flavorName}" +
"_${variant.buildType}" +
"_${variant.versionName}" +
"_${variant.versionCode}" +
"_${getDateTimeFormat()}.apk"
}

private fun getDateTimeFormat(): String {
val simpleDateFormat = SimpleDateFormat("yyMdHms", Locale.US)
return simpleDateFormat.format(Date())
}

class VariantOutputAction(
private val fileName: String
) : Action<BaseVariantOutput> {
override fun execute(output: BaseVariantOutput) {
if (output is BaseVariantOutputImpl) {
output.outputFileName = fileName
}
}
}
}

但 AS 告诉我 ApplicationVariant 和 BaseVariantOutput 已弃用

如何替换这些已弃用的类?

最佳答案

变体 API 可用在 com.android.build.gradle.api 包中在 com.android.tools.build:gradle 神器中已被弃用。

That includes BaseVariant and all of its direct and indirect subclasses:LibraryVariant, ApkVariant, ApplicationVariant, FeatureVariant, TestVariant, UnitTestVariant.

新的 Variant API 可用在 com.android.build.api.variant 包中在 com.android.tools.build:gradle-api 工件中。

When writing plugins, it is now recommended to depend on only the gradle-api artifact in order to use only the new interfaces and classes. One small exception here is the plugin classes that will move to gradle-api in 8.0:

  • AppPlugin
  • LibraryPlugin
  • DynamicFeaturePlugin
  • TestPlugin

参见 Android Gradle Plugin DSL/API migration timeline迁移细节和 New APIs in the Android Gradle Plugin有关 API 更改的精彩文章。

关于android-studio - ApplicationVariant、BaseVariantOutput 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71082663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com