簡體   English   中英

Android gradle 在每次構建時上傳 NDK 符號

[英]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}")
}
  1. 自從我移至 FireBase 后,這不再編譯:

    無法獲取未知屬性“uploadCrashlyticsSymbolFile”

  2. 我沒有看到此任務正在運行。

  3. 我基本上需要這個任務在每個構建上運行:

    ./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

這可能需要設置unstrippedNativeLibsDirstrippedNativeLibsDir

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM