[英]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.