ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

android – Gradle 4.1在发布版本完成之前进行崩溃上传

2019-07-22 08:26:12  阅读:290  来源: 互联网

标签:android-gradle crashlytics android


将我们的开发和构建环境从Android Studio 2升级到3(目前在gradle 4.1上),我们在运行Crashlytics APK分发上载任务时遇到了一个奇怪的问题.它试图过早上传APK方式.在我们的构建中大约60年代标记它失败了:

Uploading D:\GitRunner\path\to\release\appname-flavour1name-release.apk to Crashlytics...
 WARN - Crashlytics halted compilation because it can't find the specified file: D:\GitRunner\path\to\release\appname-flavour1name-release.apk
:appname:crashlyticsUploadDistributionFlavournameRelease FAILED

(正常构建时间约为7分钟.)我仔细检查了APK的输出路径,这一切似乎都是正确的.

有趣的是,当远程访问Windows构建计算机并运行我们的CI手动运行的构建命令时:

gradlew.bat assembleFlavour1NameRelease assembleFlavour2NameRelease appname:crashlyticsUploadDistributionFlavour1NameRelease reptile:crashlyticsUploadDistributionFlavour1NameRelease --stacktrace

一切正常.

最后,我已经将不良行为追溯到运行构建命令之前运行的git clean.不知何故,这会改变行为,使构建通过或不通过.

解决方法:

我遇到了同样的问题.如果项目中有多个模块,则使用–max-workers = 1的解决方案将大大减慢构建时间.

您可以通过在build.gradle文件中手动设置crashlyticsUploadDistribution任务的顺序来解决此问题:

tasks.whenTaskAdded { task ->
    if (task.name == "crashlyticsUploadDistributionDebug") {
        task.dependsOn assembleDebug
    }
    if (task.name == "crashlyticsUploadDistributionRelease") {
        task.dependsOn assembleRelease
    }
}

afterEvaluate {
    crashlyticsUploadDistributionDebug.dependsOn assembleDebug
    crashlyticsUploadDistributionRelease.dependsOn assembleRelease
}

标签:android-gradle,crashlytics,android
来源: https://codeday.me/bug/20190722/1500560.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有