当前位置: 首页 > 知识库问答 >
问题:

应用程序包包含本机代码,我找不到调试符号。拉链

王庆
2023-03-14

这是关于PlayStore警告调试符号的

我已经成功地构建了Gradle,在添加了一行代码之后。格雷德尔(应用程序

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

但是按照说明https://developer.android.com/studio/build/shrink-code当我建立一个应用程序时,我找不到native-debug-symbols.zip文件,所以我的问题是如何获得文件native-debug-symbols.zip文件

共有3个答案

慕云
2023-03-14

我不确定@MuhammadKamal的答案是否对我有用,但它可能让我走上了正确的道路。我认为,要使其正常工作,需要的不仅仅是最新的NDK。我以前使用的是Android Studio 4.2。1但坚持使用旧版本的CMake和NDK,并使用Gradle插件4.2。1.

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

我相信NDK版本是22.1。71670是自动添加到AAB的调试符号所必需的<代码>Android。ndkVersion'22.1。71670'

我还切换到了更新版本的CMake:externalNativeBuild。克马克。版本“3.18.1”

我现在正在使用Gradle插件4.2。2在Android Studio 4.2中。2.

在我的系统上,Gradle抱怨调试符号级别设置被设置为“FULL”。看起来这个值必须是小写的。这可能是在较新的gradle插件版本中引入的变化:android。构建类型。释放ndk。debugsymbolevel='full'

我不能完全确定这些更改中的哪一个(如果不是全部的话)使调试符号自动嵌入到AAB中并生成zip文件。如果只需要更新的NDK,请随时接受@MuhammadKamal的回答。我想为其他人记录我构建中的工作内容,以填补任何空白,并可能帮助解决问题。

调试符号将存储在AAB中的以下位置:BUNDLE-METADATA\com.Android工具。建筑调试符号\

严格来说,@DevDasTour询问的是APK和本机调试符号。只有拉链。根据我的html" target="_blank">测试,APK不能包含调试符号,而ABB可以。

如果您仍然希望将APK和调试符号分别上传到Google Play,native-debug-symbols.zip将在此处生成:

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

孟绪
2023-03-14

找到native-debug-symbols.zip,生成后我就用这个步骤:构建-

然后在文件夹构建上创建-

我不知道是什么引起的但我试着改变了代码

android.defaultConfig.ndk.debugSymbolLevel='FULL'

android。构建类型。释放ndk。debugsymbolevel='FULL'

我还仔细检查阉羊NDK是否下载到我的SDK。

还有android.ndk版本22.1.7171670生成在我的build.gradle

和文件-

赫连心思
2023-03-14

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

要在Google Play Store上启动模糊处理文件之前检查该文件是否已添加,请创建一个新的签名包。aab文件。在androidstudio中,创建文件时会出现一个小弹出窗口,如下所示。单击分析应用程序按钮。

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

 类似资料:
  • 此应用程序包包含本机代码,您尚未上载调试符号。我们建议您上载一个符号文件,以使崩溃和ANR更易于分析和调试 失败:构建失败,但有例外。 > 错误:评估项目“app”时出现问题。 无法获取项目的未知属性“android”:类型为org的app。格拉德尔。应用程序编程接口。项目 > 获取更多帮助https://help.gradle.org BUILD在9s中失败异常:Gradle任务程序集调试失败,

  • 在android Studio上使用flutter构建我的应用程序,当我上传我的应用程序包(通过制作时,会弹出消息: 我已经尝试了目前在线的所有解决方案来解决这个问题。以下各项的每种组合: 这些解决方案: https://github.com/flutter/flutter/issues/60240#issuecomment-894683946 https://github.com/flutter

  • 我正在发布一个应用程序使用新的应用程序捆绑格式(aab)。该应用程序包括一些Armeabi-V7A的本地库。当我通过Google Play在arm64-v8a架构上安装应用程序时,它不包括没有arm64-v8a so文件的本地库。 根据https://stackoverflow.com/a/39622499/534471,armeabi-v7a库应该运行在arm64-v8a设备上(通过adb安装时

  • 问题内容: 我有一个奇怪的错误。我在同一包中有2个类,但它们彼此找不到。根据我的记忆,只要这些类位于同一包中,它们就应该能够调用彼此的方法。 我的代码与此类似: 在A.java中: 在B.java中: 这给了我一个错误。 这两个类都依赖于某些文件,但是我已经包括了这些jar的路径并可以很好地编译,但是由于某些原因B找不到A … 当我在两个类中都删除时,它们可以正常编译。 问题答案: 由于您要编译位

  • 当我试图在没有任何本地代码的google play商店上更新我现有的ionic 4应用程序时,我只是将我的应用程序从alpha频道升级到production频道。 它显示2条警告消息: > 这个应用程序包包含Java/Kotlin代码,可以使用。我们建议上传DeobfUsation文件,以便更轻松地分析和解决您的崩溃和ANR 此应用程序包包含本机代码,您尚未上载任何调试符号。我们建议上传一个符号文

  • 我正在使用JDK附带的Oracle工具为JavaFX8应用程序创建一个可安装的包。在Mac上创建文件,在Linux上使用文件。我从Gradle调用一个Ant脚本来创建包。我遇到的问题是,包中包含的版本号总是1.0,而不是我指定的版本。Ant脚本的相关部分如下: 您可以在这里的上下文中看到完整的脚本。 在Mac上,右键单击应用程序图标并选择“Get Info”显示1.0而不是正确的版本号,正如您在下