Firebase-Crash has a new feature。您可以使用Gradle命令上传mapping.txt
:./gradlew :app:firebaseUploadReleaseProguardMapping
。
我想自动化这个过程。我想在创建发布版apk后立即将mapping.txt
文件上传到Firebase。
如何在成功firebaseUploadReleaseProguardMapping
后强制Gradle执行assembleRelease
?有更简单的方法吗?
答案 0 :(得分:4)
通常,您可以使用dependsOn
方法为任务定义依赖关系。
例如:
task A << {
println 'Hello from A'
}
task B << {
println 'Hello from B'
}
B.dependsOn A
您将获得
> gradle -q B
Hello from A
Hello from B
在您的情况下,您可以指定:
firebaseUploadReleaseProguardMapping.dependsOn assembleRelease
您也可以使用finalizedBy
方法。
A.finalizedBy B
请注意:
B
失败,也会运行A
。答案 1 :(得分:1)
仔细查看目标firebaseUploadReleaseProguardMapping时执行的任务链:
...
:app:transformClassesWithDexForRelease
:app:mergeReleaseJniLibFolders UP-TO-DATE
:app:transformNative_libsWithMergeJniLibsForRelease
:app:transformNative_libsWithStripDebugSymbolForRelease
:app:packageRelease
:app:assembleRelease
:app:firebaseUploadReleaseProguardMapping
看看firebaseUploadReleaseProguardMapping已经依赖于assembleRelease。您不需要为您尝试执行的操作强制执行任何其他依赖项 - 插件已经设置了依赖项,因此当您告诉gradle运行该任务时,它已经完成了发布版本。如果您希望在成功发布版本后上传,只需将firebaseUploadReleaseProguardMapping而不是assembleRelease定位。
答案 2 :(得分:1)
37 errors
答案 3 :(得分:0)
可以定义外部工具“生成签名的APK并上传ProGuard映射文件” - 而不是“生成签名的APK”按钮,因为任务firebaseUploadReleaseProguardMapping
取决于assembleRelease
,因此<强>总是执行它。 Firebase插件最近更新为1.1.0 ...
结果:
:mobile:assembleRelease
:mobile:firebaseUploadReleaseProguardMapping
Attempting to upload Proguard mapping file...