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

Dim*_*ims 9 android native debug-symbols google-play android-app-bundle

我正在尝试将 Android 应用程序发布到 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.
Run Code Online (Sandbox Code Playgroud)

我在一份文档中发现,我应该添加

android.buildTypes.release.ndk.debugSymbolLevel = { SYMBOL_TABLE | FULL }
Run Code Online (Sandbox Code Playgroud)

行到build.gradle文件和另一个文档中,我应该添加

android.defaultConfig.ndk.debugSymbolLevel = 'FULL'
Run Code Online (Sandbox Code Playgroud)

行到build.gradle文件。

哪一个是正确的?

无论如何,两者都不起作用。

如果我将这一行(按原样)添加到build.gradle(字面上遵循文档),我会收到Gradle无法找到ndkdebugSymbolLevel名称的错误。

如果我将该行(按原样)添加到gradle.properties,则它没有任何效果:aab文件看起来具有相同的大小并且警告仍然存在。

如何实现?

Alb*_*rto 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
}
Run Code Online (Sandbox Code Playgroud)

HTH

  • 你好,Alberto,我遵循了你的建议,但不幸的是 Play Console 仍然无法在 AAB 中找到调试符号文件。任何想法?谢谢。 (2认同)