5

这是关于 PlayStore 警告调试符号

将行添加到 build.gradle(app) 后,我已成功构建 Gradle

     android.buildTypes.release.ndk.debugSymbolLevel = 'FULL'

但是按照说明https://developer.android.com/studio/build/shrink-code当我构建 Apk 时,我找不到native-debug-symbols.zip文件,所以我的问题是如何获取文件本机调试符号.zip文件

4

3 回答 3

4

如果您已设法在项目中安装并正确配置了新的 Gradle、NDK 设置和 CMAKE,该文件将自动包含在您的签名包(.aab 文件)中。以及许多其他评论中讨论的 Gradle 设置。所以你不需要手动上传。

要在 Google Play Store 上启动混淆文件之前检查是否添加了混淆文件,请创建一个新的签名包 .aab 文件。在 Android Studio 中,创建文件时会弹出一个小窗口,如下所示。单击分析应用程序按钮。

分析应用按钮

然后你会在这里看到它: 调试符号文件

如果您在那里看到它,您可以将其上传到 PlayStore,您就可以开始使用了。

于 2021-10-02T13:07:42.230 回答
3

我不确定@MuhammadKamal 的回答是否对我有用,但它可能让我走上了正确的轨道。我认为要使其正常工作,不仅需要最新的 NDK。我之前使用的是 Android Studio 4.2.1,但坚持使用旧版本的 CMake 和 NDK 并使用 Gradle Plugin 4.2.1。

为了生成调试符号,我更新了所有 build.gradle 文件,现在 android 应用程序包 (AAB) 看起来与以前不同,并且我的系统上也没有生成 native-debug-symbols.zip。

我相信自动将调试符号添加到 AAB 需要 NDK 版本 22.1.7171670。 android.ndkVersion '22.1.7171670'

而且我还切换到了更新版本的 CMake externalNativeBuild.cmake.version "3.18.1":.

我现在在 Android Studio 4.2.2 中使用 Gradle Plugin 4.2.2。

在我的系统上,Gradle 在设置为“FULL”时抱怨调试符号级别设置。似乎该值必须小写。这可能是在较新的 gradle 插件版本中引入的更改: android.buildTypes.release.ndk.debugSymbolLevel = 'full'.

如果不是所有这些更改都使调试符号自动嵌入到 AAB 中并生成 zip 文件,我不完全确定其中的哪些更改。如果只需要更新的 NDK,请随时接受@MuhammadKamal 的回答。我想为其他人记录在我的构建中起作用的东西,以填补任何空白并可能有助于解决问题。

调试符号将存储在此位置的 AAB 中: BUNDLE-METADATA\com.android.tools.build.debugsymbols\<ABI>\libX.dbg

严格来说,@DevDasTour 只询问了 APK 和 native-debug-symbols.zip。根据我的测试,APK 不能包含调试符号,而 ABB 可以。

如果您仍希望将 APK 和调试符号分别上传到 Google Play,请在此处生成 native-debug-symbols.zip: <project_name>\build\outputs\native-debug-symbols\release\native-debug-symbols.zip

顺便说一句,AAB 还将包含 Java 去混淆映射,因此只需一个文件即可上传到 Google Play。

于 2021-07-02T20:18:27.370 回答
3

找到 native-debug-symbols.zip,它是在我使用此步骤后生成的:Build -> Generate Signed Bundle / APK -> APK。

然后它在文件夹 build->outputs->native-debug-symbols 上创建

我不知道是什么原因造成的,但我尝试的是更改代码

android.defaultConfig.ndk.debugSymbolLevel = 'FULL'

android.buildTypes.release.ndk.debugSymbolLevel = 'FULL'

我还仔细检查了 NDK 是否已下载到我的 SDK 中。

而且我的里面也有android.ndkVersion '22.1.7171670'生成build.gradle

如果未下载,则文件 -> 项目结构 -> 下载 Android NDK。

于 2021-06-30T16:15:20.397 回答