- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 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 togradle-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/
我是一名优秀的程序员,十分优秀!