如何将本地代码符号发布到Google Play控制台?

13

我正在尝试将一个安卓应用发布到Google Play,但我得到了一个警告:

This App Bundle contains native code, and you've not uploaded debug symbols. 
We recommend you upload a symbol file to make your crashes and ANRs easier to analyze and debug.

我在一份文档中发现,我应该添加以下内容:

android.buildTypes.release.ndk.debugSymbolLevel = { SYMBOL_TABLE | FULL }

我应该在build.gradle文件中添加一行,以及在另一个文档中指出需要添加什么。

android.defaultConfig.ndk.debugSymbolLevel = 'FULL'

添加到build.gradle文件中的行。

哪个是正确的?

无论如何,都不起作用。

如果我按照文档字面意思将该行(原样)添加到build.gradle中,我会收到Gradle错误,因为它找不到 ndk debugSymbolLevel名称。

如果我将该行(原样)添加到gradle.properties中,则没有影响:出现相同大小的aab文件并出现警告。

如何完成?


请参考 https://dev59.com/qFIG5IYBdhLWcg3w3Fg_#62574090。这可能是Gradle版本问题。 - wolfyuk
1个回答

11

这两个选项都可以起作用。如果您使用 android.defaultConfig.ndk.debugSymbolLevel,它将应用于所有构建类型(即调试版和发布版)。另一方面,如果您使用 android.buildTypes.release.ndk.debugSymbolLevel,它仅适用于发布版构建。

这些选项必须添加到您的 app/build.gradle 文件中,该文件看起来可能会像这样:

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId 'com.example.foo'
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 42
        versionName "4.0.2"
        ndk {
            debugSymbolLevel 'SYMBOL_TABLE'
        }
    }
    // Rest of the file
}

HTH


2
嗨,Alberto, 我按照你的建议操作了,但可惜的是Play Console仍然找不到AAB内部的调试符号文件。你有什么想法吗?谢谢。 - LM_IT
同样的问题,不知道为什么。现在真的很沮丧。 - vietstone
只有在我将'symbol_table'小写时才有效。 - rehman_00001

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接