Android Studio Flamingo 不再在 App bundle 中创建调试符号

Android Studio Flamingo no longer creates debug symbols in App bundles

提问人:Bash 提问时间:4/28/2023 最后编辑:Bash 更新时间:5/31/2023 访问量:750

问:

问题描述:我面临的问题是,经过一些升级(Android Studio、Gradle 插件等)后,不再在 App bundle 中创建调试符号。我目前的设置是:

  • 安卓火烈鸟 2022.2.1
  • Android Gradle 插件 8.0.0
  • Gradle 版本 8.1.1
  • 构建工具 33.0.2
  • NDK 25.1.8937393
  • CMake 3.22.1
  • Kotlin 版本 1.8.21
  • Windows 10 专业版 22H2(包含所有最新更新)

重现步骤:

  • 创建一个新项目,然后从模板中选择“手机和平板电脑”->“基本视图活动”
  • 将项目命名为“Demo Application”,并将 Minimum SDK 设置为 API 28,将所有其他设置保留为默认值
  • 使用项目的 build.gradle,如下所述:

     plugins {
        id 'com.android.application' version '8.0.0' apply false
        id 'com.android.library' version '8.0.0' apply false
        id 'org.jetbrains.kotlin.android' version '1.8.21' apply false
    }

  • 使用应用的 build.gradle,如下所述:

    plugins {
        id 'com.android.application'
        id 'org.jetbrains.kotlin.android'
    }
    
    android {
        namespace 'com.example.demoapplication'
        compileSdk 33
    
        defaultConfig {
            applicationId "com.example.demoapplication"
            minSdk 28
            targetSdk 33
            versionCode 1
            versionName "1.0"
    
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        }
    
        buildTypes {
            release {
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
                ndk {
                    debugSymbolLevel 'FULL'
                }
            }
        }
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_17
            targetCompatibility JavaVersion.VERSION_17
        }
        kotlinOptions {
            jvmTarget = '17'
        }
        buildFeatures {
            viewBinding true
        }
        ndkVersion '25.1.8937393'
    }
    
    dependencies {
    
        implementation 'androidx.core:core-ktx:1.10.0'
        implementation 'androidx.appcompat:appcompat:1.6.1'
        implementation 'com.google.android.material:material:1.8.0'
        implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
        implementation 'androidx.navigation:navigation-fragment-ktx:2.5.3'
        implementation 'androidx.navigation:navigation-ui-ktx:2.5.3'
        testImplementation 'junit:junit:4.13.2'
        androidTestImplementation 'androidx.test.ext:junit:1.1.5'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
    }

请注意,minifyEnabled 设置为 true,添加了 ndkVersion 25.1.8937393,并且 debugSymbolLevel 声明为“FULL” 选择“生成包”后,应用可以正常生成 分析 App bundle 时,app-release.aab 文件中没有调试符号(请参见下面的屏幕截图): 图片:.png

使用我的“普通”应用程序,也会发生同样的事情。我必须注意,过去创建了调试符号,在升级到较新版本(AGP 等)的某个时候,它停止创建它们(我不知道是什么原因造成的)。

我试过什么

  • 尝试了几个不同的 Android Gradle 插件版本
  • 尝试了各种 NDK 版本(更高和更低)
  • 尝试了不同的 CMake 版本
  • 将 ndkPath 添加到我的 build.gradle
  • 尝试从build.gradle文件中删除ndkVersion

我不知道我在这里错过了什么。我也找不到任何日志文件可以给我一个线索,为什么它不起作用。

这个 github 存储库包含演示应用程序,演示未创建调试符号(至少在我的系统上):https://github.com/Chris-NL/Demo_Application

谢谢你们的帮助。

android-studio android-ndk android-gradle-plugin 调试符号

评论

0赞 M Faheem Rajput 6/22/2023
找到任何解决方案吗?
0赞 Bash 6/23/2023
很遗憾没有
0赞 Harvey 6/29/2023
我在您的 gradle 文件中看到了这个 - ndkVersion '25.1.8937393' - 在您的 SDK Tools/NDK 中,您是否选择相同的版本?
0赞 Bash 6/30/2023
我已经匹配了这些版本。
0赞 Bash 7/17/2023
另请查看: issuetracker.google.com/issues/280958690

答:

0赞 Mr Rivero 5/31/2023 #1

这是已知问题,正在此处跟踪:

https://issuetracker.google.com/issues/279489616

Flamingo 补丁 2 中将包含一个修复程序。

评论

0赞 Bash 6/1/2023
阅读您提供的链接上的问题,这似乎是另一种类型的问题:“更新到 Flamingo 后,本机调试器不会加载我的本机库的符号。使用 Flamingo 补丁 2,我的问题仍然存在。让我知道您如何解决我提供的演示应用程序的问题。