如何将调试符号添加到build.gradle

2024-01-06

我已经为我的 Flutter 应用程序创建了 android 版本。

然后我创建了一个内部测试版本。显示警告

此应用程序包包含本机代码,并且您尚未上传调试 符号。我们建议您上传一个符号文件以使您的崩溃 ANR 更易于分析和调试。

基本上我要做的就是根据它们显示的链接将以下内容添加到 build.gradle 文件中。

android.buildTypes.release.ndk.debugSymbolLevel = { SYMBOL_TABLE | FULL }

我认为他们正在谈论的是 android/app/build.gradle 。

不确定我必须在该文件中的哪个位置添加此行。

有人能指出在哪里添加这一行吗?


使用 ndk debugSymbolLevel 选项,如docs https://developer.android.com/studio/build/shrink-code#android_gradle_plugin_version_41_or_later你需要一个 android gradle 插件4.1 或更高版本。在撰写本文时,最新的 4.1 版本是4.1.2 https://mvnrepository.com/artifact/com.android.tools.build/gradle?repo=google

您还需要安装Android Studio 的 ndk 和 cmake https://developer.android.com/studio/projects/install-ndk.

在你的 android build.gradle 中,你需要设置 android gradle 插件版本 4.1.2:

buildscript {
    ...
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.2'
        ...
    }

然后在 android/app build.gradle 中添加:

...
android {
    ...
    // you see the ndk version in the android studio sdk-manager
    // have a look also here: https://stackoverflow.com/a/65747847/9481613
    ndkVersion "21.3.6528147" 
    ...
    buildTypes {
        release {
            ...
            ndk {
                debugSymbolLevel 'SYMBOL_TABLE'
            }
        }   
    }
}

当你运行时:flutter build appbundle它应该在一段时间后完成,并且应用程序包的大小是原来的两倍。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将调试符号添加到build.gradle 的相关文章

  • Phonegap(3.0.0) 相机第一次尝试不成功

    出于测试目的 我复制了在音隙相机 API http docs phonegap com en 3 0 0 cordova camera camera md html Camera我发出警报onPhotoDataSuccess测试函数何时被触
  • 使用kivy/python访问android手电筒(相机LED闪光灯)

    我不知道如何使用 python 或 kivy 访问 android 上的 led 灯 我尝试安装 python for android 以便能够将 android 模块导入到我的代码中 但不是找不到模块 我按照此处的说明克隆了 python
  • 在Android中的TextView下方绘制下划线

    我想在我的下面画下划线TextView 我搜索了一些内容 但找不到任何有成果的内容 有人可以帮我吗 在 TextView 中添加文本下方有三种方法 跨度字符串 http developer android com reference and
  • 类 X 不是抽象的,并且没有实现 android.os.Parcelable 中定义的 fun writeToParcel()

    在我的 Android 应用程序中 我想添加一个 Bundle 其中包括Place下面描述我的意图的对象 由于 Serialized 速度慢且不推荐 所以我更喜欢 Parcelable 虽然我使用 Kotlin 1 3 31 但在分割某些数
  • 如何处理 Jetpack Compose 中的导航?

    在 Jetpack Compose 中 导航应该如何完成 所有 并不多 示例 包括来自 Google 的官方示例 都使用密封类并加载新屏幕以响应观察当前屏幕的变化 这确实 有点 有效 但不提供导航返回堆栈 并且手机的后退按钮完全不知道 只是
  • 调用了 BroadcastReceiver 但未调用 PhoneStateListener

    在调试下面的代码时 BroadcastReceiverCustom 正在被 已调用 但 PhoneStateListenerCustom 未调用 现在我只在 BroadcastReceiverCustom 中执行所需的操作 但可能不是最好的
  • 每当刷新页面时,DevTools 都会自动切换到“Sources”选项卡

    每当我使用 DevTools 时 如果刷新网页 DevTools 就会切换到 源 选项卡并打开每个脚本 There s a feature called Focus Sources panel when triggering a break
  • getRunningAppProcesses 在 Android L (5.1.1) 上返回空列表 [重复]

    这个问题在这里已经有答案了 我刚刚测试了我的应用程序和 CM ATM Android Assistant 等 它们都无法获取正在运行的进程列表 但它们在预操作系统版本上运行良好 那么 Android L 5 1 1 发生了什么 请帮忙 am
  • Android 当应用程序启动时显示白屏几秒钟?

    我没有调用任何 URL 请求 该应用程序显示了一个简单的启动屏幕 我也禁用了即时运行 但该警告仍然出现 06 26 09 26 05 022 8709 8709 saurav com navigation drawer I art 后期启用
  • ZipResourceFile 无法解析为类型

    我正在尝试重写我的应用程序以使用 APK 扩展文件 我一直在关注这里的文档http developer android com google play expansion files html http developer android
  • Recycler查看可见项目的数量

    我正在我的应用程序中创建一个水平 RecyclerView 它必须一次在屏幕上显示 2 个图像 因此每个图像的宽度必须为屏幕的 50 目前它工作正常 但每个项目都会占用屏幕的所有宽度 这是我的代码 mRecyclerView Recycle
  • 呼叫转移

    我想将所有拨打我号码的呼叫转接至新的预定义号码 自动地 可以转接来电吗 也许至少对于 Froyo 来说是可能的 我找到了名为 Easy Call Forwarding 的应用程序 http www appstorehq com easyca
  • Android接收短信Intent:获取消息Id或线程Id

    我已经注册了一个广播监听器来接收android provider Telephony SMS DELIVER意向行动 我似乎能够获取这条新消息的正文和发件人电话号码 但是我无法获取此新消息的消息 ID 或线程 ID 我发现的唯一方法是搜索消
  • 在没有 SurfaceView 的 Android 上获取 GPU 信息

    在Android上 有没有一种方法可以在不创建SurfaceView的情况下获取GPU信息 我不想使用 OpenGL 绘制任何内容 但我只需要获取硬件信息 例如供应商 OpenGL ES 版本 可用扩展等 抱歉 我不知道如何在 Androi
  • Android 导航组件,如何知道结果是否设置为 onViewCreated

    在一个片段中我setFragmentResultListener并等待结果 setFragmentResultListener EnableFingerPrintFragment ARG REQUEST KEY bundle gt bund
  • 返回 RxJava 的 Completable 的方法的命名约定

    我有一个带有视图类的 Android 应用程序 Fragment Activity 观察其ViewModel The ViewModel公开方法 例如getUserName返回Observable
  • 使用 Dio download 下载大视频会导致内存不足

    我正在尝试制作一个具有从 url 下载视频功能的 flutter 应用程序 并且视频预计会很大 至少 1 到 2 小时的 720p 我为此使用了 Dio 但它尝试将完整的视频存储在 RAM 中 这会导致内存不足错误 这是我使用的代码 有什么
  • 在大画布上滚动

    我需要一些帮助来了解滚动绘制到 Android 画布上的项目的基础知识 假设我想创建一个时间线 其中 0 处的时间是可视化的顶部 并且随着时间的增加 时间线继续呈现在上一个点下方 如果我想在 Android 上渲染它 我知道我可以通过重写
  • 按钮的大小取决于屏幕分辨率

    I have LinearLayout有 6 个按钮 在 4 7 英寸大小的分辨率下 按钮几乎是完美的 但在分辨率较高的设备上 它们不会占据整个屏幕 而在分辨率较低的设备上 并非所有按钮都可见 您能否解释一下如何使按钮在不同屏幕分辨率的设备
  • 与桌面浏览器相比,移动浏览器有多强大? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi

随机推荐