提问人:Bash 提问时间:4/28/2023 最后编辑:Bash 更新时间:5/31/2023 访问量:750
Android Studio Flamingo 不再在 App bundle 中创建调试符号
Android Studio Flamingo no longer creates debug symbols in App bundles
问:
问题描述:我面临的问题是,经过一些升级(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
谢谢你们的帮助。
答:
0赞
Mr Rivero
5/31/2023
#1
这是已知问题,正在此处跟踪:
https://issuetracker.google.com/issues/279489616
Flamingo 补丁 2 中将包含一个修复程序。
评论
0赞
Bash
6/1/2023
阅读您提供的链接上的问题,这似乎是另一种类型的问题:“更新到 Flamingo 后,本机调试器不会加载我的本机库的符号。使用 Flamingo 补丁 2,我的问题仍然存在。让我知道您如何解决我提供的演示应用程序的问题。
评论