Kri*_*lsh 12 android gradle android-build android-studio
我正在使用gradle插件版本3.3.0并且我的gradle包装器正在使用 distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
我在我的app/build.gradle文件中使用以下代码:
applicationVariants.all { variant ->
variant.outputs.each { output ->
def apk = output.outputFile //happens here (line 26)
def newName
if (variant.buildType.name == "release") {
newName = "ediary.apk"
} else {
newName = "ediary-debug.apk"
}
output.outputFileName = new File(
"./build/",
output.outputFile.name)
if (output.zipAlign) {
output.outputFileName = new File(
"./build/",
newName.replace("-unaligned", ""))
}
}
}
Run Code Online (Sandbox Code Playgroud)
该项目构建,但我收到此警告:
警告:API
'variantOutput.getPackageApplication()'已过时且已替换为'variant.getPackageApplicationProvider()'.它将在2019年底删除.有关更多信息,请参阅https://d.android.com/r/tools/task-configuration-avoidance.原因:来自:C:\ Users\my name\StudioProjects\core\app\build.gradle:26
我如何重写这个以避免警告?
这是 Android 构建工具 3.3.0 中记录的更改。(我不确定 gradle 4.10 及以上版本)我不是 gradle 专家或类似的专家,但是,我很确定您上面共享的代码不会导致此警告。它可能是您的依赖项之一正在使用警告中提到的 API,但现在已弃用。如果您想继续使用 android build tools 3.3.0,唯一的解决方法是暂时关闭警告。
类似的情况也发生在 Butterknife 图书馆。检查一下,您可能会发现一些有用的信息 Butterknife Issue 1431
我个人将消除此警告并继续前进。只需在 gradle.properties 中添加以下行
android.jetifier.blacklist = butterknife-compiler //replace with possible artifact name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
846 次 |
| 最近记录: |