等级插件3-alpha1 outputFile导致错误

卡夫斯

我正在尝试将项目更新为Android Studio 3。

在build.gradle文件中不再接受以下代码段。

applicationVariants.all { variant ->

    variant.outputs.each { out ->

        def oFile =out.outputFile  // This line causes failure

        //...
    }
}

该错误是一个简单的“无效”,但智能提示表明它是正确的,因为它可以自动完成。

检查idea.log显示以下异常:

Caused by: java.lang.RuntimeException: Not valid.
at com.android.ide.common.build.ApkData.getMainOutputFile(ApkData.java:136)
at com.android.build.gradle.internal.api.BaseVariantOutputImpl.getOutputFile(BaseVariantOutputImpl.java:60)
at com.android.build.gradle.internal.api.ApkVariantOutputImpl_Decorated.getOutputFile(Unknown Source)
at org.gradle.internal.metaobject.BeanDynamicObject$MetaClassAdapter.getProperty(BeanDynamicObject.java:228)
at org.gradle.internal.metaobject.BeanDynamicObject.tryGetProperty(BeanDynamicObject.java:171)
at org.gradle.internal.metaobject.CompositeDynamicObject.tryGetProperty(CompositeDynamicObject.java:55)
at org.gradle.internal.metaobject.AbstractDynamicObject.getProperty(AbstractDynamicObject.java:59)
at com.android.build.gradle.internal.api.ApkVariantOutputImpl_Decorated.getProperty(Unknown Source)

我在Gradle 4上找不到任何文档。这可能是Bug还是不推荐使用的功能?

另请提交:https//issuetracker.google.com/issues/38408231

亚当斯

更新:修复了APK重命名问题

使用所有迭代器,而不是每个

android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${variant.name}-${variant.versionName}.apk"
    }
}

先前的答案仍然有效:这是新插件的已知问题:

发生此生成错误是因为在配置阶段不再创建特定于变体的任务。这导致插件不预先知道其所有输出,但这也意味着更快的配置时间。作为替代方案,我们将引入新的API以提供类似的功能。

根据《迁移指南》,我们需要等待另一种方式

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SyntaxError:JSON.parse:多等级wordpress插件上JSON数据错误的第1行第1列的意外字符

Android Gradle 3.0.0-alpha2插件,无法设置只读属性'outputFile'的值

R中的GARCH模型的限制测试(H0:alpha1 + beta1 = 1,H1:alpha1 + beta1≠1)不起作用

等级错误:未找到 ID 为“com.android.model.application”的插件

Ionic的本机“推送”插件导致错误

Gradle 3.0.0-alpha1与kotlin-android插件1.1.2-3不兼容吗?

Swift 3更新导致错误

如何修复因激活 W3 Total Cache 插件而导致的 HTTP 500 错误?

TensorFlow-切片张量导致:ValueError:Shape(16491,)必须具有等级3

concat1D中的错误:张量的等级[23]必须与其他等级相同

Android插件2.2.0-alpha1无法使用Kotlin编译

Tensorflow错误“形状Tensorshape()必须具有等级1”

Fortran“错误:不兼容分配中的等级0和1”

Array [index + 1]导致程序致命错误

降级libfontconfig1导致Fontconfig错误

VLC插件脱离树构建会导致分段错误

jQuery.mmenu插件导致ADA合规性错误

使用“等级测试”测试Grails 3应用程序使用了错误的环境配置

Android Studio上的setEGLContextClientVersion(3)导致错误

ValueError:对于输入形状为[2,360,475,3],[1,4],[],[2]的'ROIAlign / Crop'(op:'CropAndResize'),形状必须为等级1,但等级为0。

尝试使用 Caffe 分类器会导致“序列参数的长度必须等于输入等级”错误

kotlin-js gradle outputfile错误

黑客等级划分错误

在动态范围上寻找 Alpha 等级

Istioctl安装错误无法识别“ STDIN”:与版本“ networking.istio.io/v1alpha3”中的种类不匹配

为什么QCOMPARE(QString(“ 1”),“ 1”)导致链接器错误?

等级5:无法应用插件[id'aspectj']

将支持 gradle 插件更新为 28.0.0-alpha1 时,发布版本已损坏

在新的Android插件3.0.0-alpha1中重命名输出文件