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

如何向生成添加调试符号。格拉德尔

马才
2023-03-14

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

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

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

基本上我要做的就是添加以下内容来构建。根据链接显示的渐变文件。

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

我假设它是android/app/build。他们说的是格拉德尔。

不确定我必须在文件中的什么位置添加这一行。

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

共有3个答案

申屠项明
2023-03-14

使用Android4.1及以上版本目前有4.1 RC 3和4.2 Canary 13可用,同样使用com.Android工具。build:Gradle4.1及以上版本,您可以从这里搜索合适的版本

然后在android中使用这一行-

    ndk { debugSymbolLevel 'FULL' }
程磊
2023-03-14

应用程序/构建中有两个位置。gradle,您可以在其中指定调试符号与应用程序绑定。如果你使用Android系统。defaultConfig。ndk。debugsymbolevel它将应用于所有构建类型(即调试和发布构建)。另一方面,如果你使用Android系统。构建类型。释放ndk。debugsymbolevel它将仅应用于您的发布版本。

这些选项必须添加到您的应用程序/构建中。gradle文件,正如您正确猜测的那样。当您看到此虚线表示法中的构建属性时,它实际上对应于构建中的嵌套块。gradle,看起来有点像这样:

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId 'com.example.foo'
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 42
        versionName "4.0.2"
        ndk {
            debugSymbolLevel 'SYMBOL_TABLE'
        }
    }
    // Rest of the file
}

叶煌
2023-03-14

要使用文档中的ndk debugSymbolLevel选项,您需要一个android gradle插件4.1或更高版本。在撰写本文时,最新的4.1版本是4.1。2.

你还需要安装ndk和cmake的Android Studio。

在你的android版本中。gradle您需要设置android gradle插件版本4.1。2:

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

然后在android/应用程序构建中。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时,它应该在一段时间后完成,而appbundle的大小是它的两倍。

 类似资料:
  • 这在某个时间点上很有效,但我有一个用例,在应用程序运行时可以添加用户。 我可以通过哪种方法(通过控制器/服务)进行启动后操作?我想它可能是(它包含方法),但我不确定如何引用或配置它。

  • 我正试图用quarkus运行简单的“入门”型gradle项目,每次我的单元测试都会因为这个错误而失败 按照这里的指示https://quarkus.io/guides/gradle-tooling对正在发生的事情有什么建议或想法吗?

  • 我正在使用JOOQ 3.6.4和Java 8从模式生成一组JOOQ记录。 有些表是结构类似的引用数据,比如说它们有ID、CODE和VALUE列(它们可能有其他列,但它们都至少有这些列)。 在我的代码中,不是由JOOQ生成的,我有一个接口“ReferenceData”,它定义了与JOOQ为这三列生成的代码相匹配的访问器。我想告诉JOOQ在它生成的记录对象中添加一个“implements Refere

  • 我在做一个分布式数据库。我试图生成一个唯一的ID,它将作为Cassandra中的列族主键。 我想知道是否有一种方法可以根据时间生成一个唯一的ID?

  • 我试图用我的gradle项目运行junit测试,但不管是什么测试,它们都会抛出以下堆栈跟踪 我已经看到了一些建议的解决方案,但似乎没有一个奏效。当我在ant中运行它们时,我的测试运行良好。我已经确保xerces使用的是最新版本,我还添加了建议的版本 对于JVM,但似乎什么都不起作用。 任何建议都将不胜感激。我可以根据要求提供更多信息。 **更新** 做了以下更改- 但现在的结果如图所示 **更新2

  • 我使用React引导实现了以下JSX: 这确实有效,但在控制台中会显示一条警告: 警告:失败的道具类型:无效的道具值提供给,预期为之一。 什么是添加到样式列表的最佳方法?我不想在我的控制台上有任何警告。