Jan*_*aka 69 debugging android release flutter android-app-bundle
我已经为我的 Flutter 应用程序创建了 android 版本。
然后我创建了一个内部测试版本。它显示警告
此 App Bundle 包含本机代码,并且您尚未上传调试符号。我们建议您上传符号文件,以便更轻松地分析和调试您的崩溃和 ANR。
基本上我要做的是根据他们显示的链接在 build.gradle 文件中添加以下内容。
android.buildTypes.release.ndk.debugSymbolLevel = { SYMBOL_TABLE | FULL }
Run Code Online (Sandbox Code Playgroud)
我假设他们正在谈论的是 android/app/build.gradle 。
不确定我必须在该文件中的确切位置添加这一行。
有人可以指出在哪里添加这一行吗?
Ada*_*dam 99
要使用文档中编写的选项 ndk debugSymbolLevel,您需要一个 android gradle 插件4.1 或更高版本。在撰写本文时,最新的 4.1 版本是4.1.2
您还需要为 android studio安装ndk 和 cmake。
在您的 android build.gradle 中,您需要设置 android gradle 插件版本 4.1.2:
buildscript {
...
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.2'
...
}
Run Code Online (Sandbox Code Playgroud)
然后在 android/app build.gradle 添加:
...
android {
...
ndkVersion "21.3.6528147" # you see the ndk version in the android studio sdk-manager
...
buildTypes {
release {
...
ndk {
debugSymbolLevel 'SYMBOL_TABLE'
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后运行时:flutter build appbundle它应该会在一段时间后完成,并带有两倍大小的 appbundle。
Alb*_*rto 28
app/build.gradle 中有两个地方可以指定调试符号与应用程序的绑定。如果您使用android.defaultConfig.ndk.debugSymbolLevel它,它将应用于所有构建类型(即调试和发布构建)。另一方面,如果您使用android.buildTypes.release.ndk.debugSymbolLevel它,它将仅适用于您的发布版本。
这些选项必须app/build.gradle按照您的正确猜测添加到您的文件中。当您看到以这种点状表示法表示的构建属性时,它实际上对应于 中的嵌套块,build.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
}
Run Code Online (Sandbox Code Playgroud)
HTH