[英]Android gradle Upload NDK symbols on every build
我想在每次构建时上传 NDK 符号,
在我的 Android 里面 gradle 我曾经有:
applicationVariants.all { variant ->
def variantName = variant.name.capitalize()
println("symbols will be added on varinat ${variantName}")
def task = project.task("ndkBuild${variantName}")
task.finalizedBy project.("uploadCrashlyticsSymbolFile${variantName}")
}
自从我移至 FireBase 后,这不再编译:
无法获取未知属性“uploadCrashlyticsSymbolFile”
我没有看到此任务正在运行。
我基本上需要这个任务在每个构建上运行:
./gradlew app:assembleBUILD_VARIANT\ app:uploadCrashlyticsSymbolFileBUILD_VARIANT
将此添加到应用程序的build.gradle
底部android {... }
块之外。
afterEvaluate {
android.applicationVariants.all { variant ->
def variantName = variant.name.capitalize()
println("symbols will be added on variant ${variantName}")
def task = tasks.findByName("assemble${variantName}")
def uploader = "uploadCrashlyticsSymbolFile${variantName}"
// This triggers after task completion
task?.finalizedBy(uploader)
// This ensures ordering
task?.mustRunAfter(uploader)
}
}
您可以尝试不afterEvaluate
块。 它应该仍然有效。
您可能需要使用 Firebase App Distribution,它允许自动上传发布构建工件 - 如果您有带有匹配调试符号的工件,它们实际上可以使用 - 如果没有匹配的程序集,这些符号有些无关紧要。
数字 1 显然是一个错误的假设,因为文档明确指出:
./gradlew app:assembleBUILD_VARIANT app:uploadCrashlyticsSymbolFileBUILD_VARIANT
这已经在这里得到了回答。
为了始终上传,可以创建一个任务依赖项:
assembleRelease.finalizedBy uploadCrashlyticsSymbolFileRelease
这可能需要设置unstrippedNativeLibsDir
和strippedNativeLibsDir
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.