【问题标题】:App Bundle contains native code, I Can't Find debug symbols .zipApp Bundle 包含本机代码,我找不到调试符号 .zip
【发布时间】:2021-06-10 05:30:29
【问题描述】:

这是关于 PlayStore 警告调试符号

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

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

但遵循指令https://developer.android.com/studio/build/shrink-code 当我构建一个 Apk 时, 我找不到 native-debug-symbols.zip 文件, 所以我的问题是如何获取文件 native-debug-symbols.zip 文件

【问题讨论】:

  • 我也遇到同样的问题,等待解答
  • 还在等待答复

标签: android android-studio build.gradle


【解决方案1】:

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

要在 Google Play Store 上启动混淆文件之前检查是否添加了混淆文件,请创建一个新的签名包 .aab 文件。在 Android Studio 中,创建文件时会弹出一个小窗口 看起来像这样。点击分析应用按钮。

然后你会在这里看到它:

如果你在那里看到它,你可以将它上传到 PlayStore,然后你就可以开始了。

【讨论】:

    【解决方案2】:

    找到了 native-debug-symbols.zip,它是在我使用此步骤后生成的: 构建 -> 生成签名包/APK -> APK。

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

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

    来自 android.defaultConfig.ndk.debugSymbolLevel = 'FULL'

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

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

    在我的build.gradle 中也生成了android.ndkVersion '22.1.7171670'

    And File -> Project Structure -> 如果未下载,请下载 Android NDK。

    【讨论】:

      【解决方案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。

      在我的系统上,当设置为“FULL”时,Gradle 抱怨调试符号级别设置。似乎该值必须小写。这可能是在较新的 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-03-09
        • 2020-10-15
        • 2019-01-27
        • 2022-11-10
        • 2019-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-23
        相关资源
        最近更新 更多