在com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated上找不到属性'zipAlignEnabled'

vel*_*val 1 android gradle android-gradle-plugin

在0.14.0 android gradle插件升级后,我的项目停止构建并出现错误:构建脚本错误,找不到支持的Gradle DSL方法:'renderscriptSupportMode().检查http://tools.android.com/tech-docs/new-build-system上的发行说明后,我做了以下必要的更改:

Renamed a few properties to make things more consistent.
BuildType.runProguard                 ->  minifyEnabled
BuildType.zipAlign                    -> zipAlignEnabled
BuildType.jniDebugBuild               -> jniDebuggable
BuildType.renderscriptDebug           -> renderscriptDebuggable
ProductFlavor.renderscriptSupportMode -> renderscriptSupportModeEnabled
ProductFlavor.renderscriptNdkMode     -> renderscriptNdkModeEnabled 
Run Code Online (Sandbox Code Playgroud)

更改上面的属性后,一些错误消失了,但我仍然得到了下面的声音:

Could not find property 'zipAlignEnabled' on com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated
Run Code Online (Sandbox Code Playgroud)

有人遇到此错误或让我知道我是否遗漏了什么?下面是导致错误的gradle.build的片段.

if (variant.zipAlignEnabled) {
        def file = variant.outputFile
        def fileName = file.name.replace(".apk", "-" + majorCode + "." + minorCode + "." +miniCode + "-" +buildNumber+".apk")
        variant.outputFile = new File(file.parent, fileName)
    }
Run Code Online (Sandbox Code Playgroud)

ITJ*_*ott 5

你试过了吗:

if (variant.buildType.zipAlignEnabled) { ...

(额外奖励):你也可能遇到麻烦:

variant.outputFile = ...
Run Code Online (Sandbox Code Playgroud)

如果是这样,您可能会发现以下链接有用:Gradle警告:不推荐使用variant.getOutputFile()和variant.setOutputFile()

  • 我不得不使用variant.outputs [0] .outputFile (2认同)