flutter / flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond
https://flutter.dev
BSD 3-Clause "New" or "Revised" License
164.13k stars 27.05k forks source link

Make it easier to upload Android native debug symbols for release builds #60240

Open fleepp opened 4 years ago

fleepp commented 4 years ago

When i want to release a new flutter app bundle to the play store. I get this error: "This App Bundle contains native code, and you've not uploaded debug symbols. We recommend you upload a symbol file to make your crashes and ANRs easier to analyze and debug." I can't find any way to fix this. I'm new with flutter and releasing app's and getting a bit desperate... Any help would be fantastic.

Aantekening 2020-06-24 224339

joshuadeguzman commented 4 years ago

Hey @fleepp,

Have you tried looking into this? https://developer.android.com/studio/preview/features#native-crash-symbolization

Can you also share a replicable project with regards to this error? Otherwise, I suggest that this question is best addressed in StackOverflow, @fleepp. A lot of folks are happy to help there as well.

Let me know if this helps.

fleepp commented 4 years ago

when I add this to my app/build.gradle, I get this error.

`android.defaultConfig.ndk.debugSymbolLevel = 'FULL'

def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { localPropertiesFile.withReader('UTF-8') { reader -> localProperties.load(reader) } }

def flutterRoot = localProperties.getProperty('flutter.sdk') if (flutterRoot == null) { throw new FileNotFoundException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") }

def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' }

def flutterVersionName = localProperties.getProperty('flutter.versionName') if (flutterVersionName == null) { flutterVersionName = '1.0' }

apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

def keystoreProperties = new Properties() def keystorePropertiesFile = rootProject.file('key.properties') if (keystorePropertiesFile.exists()) { keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

android {
    compileSdkVersion 29

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "be.ambaamba.ehbo"
        minSdkVersion 16
        targetSdkVersion 29
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
            storePassword keystoreProperties['storePassword']
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

}`

FAILURE: Build failed with an exception.

BUILD FAILED in 3s Running Gradle task 'bundleRelease'... Running Gradle task 'bundleRelease'... Done 4,3s Gradle task bundleRelease failed with exit code 1

C:\Users\filip\AndroidStudioProjects\ehbo>

And THX I wil ask it in StackOverflow!

fleepp commented 4 years ago

Question on StackOverflow: https://stackoverflow.com/questions/62568757/playstore-error-app-bundle-contains-native-code-and-youve-not-uploaded-debug

nadavfima commented 4 years ago

@fleepp Seems like we need Android Studio 4.1 (which isn't stable yet) for that.

TahaTesser commented 4 years ago

Hi @fleepp Can you please provide your flutter doctor -v, pubspec.yaml your flutter build bundle --verbose and a complete reproducible minimal code sample Thank you

fleepp commented 4 years ago
flutter doctor -v
[√] Flutter (Channel master, 1.20.0-1.0.pre.91, on Microsoft Windows [Version 10.0.18362.900], locale nl-BE)
    • Flutter version 1.20.0-1.0.pre.91 at C:\src\flutter
    • Framework revision 9c3f0faa6d (8 days ago), 2020-06-17 18:47:54 -0400
    • Engine revision 965fbbed17
    • Dart version 2.9.0 (build 2.9.0-14.0.dev 2b917f5b6a)

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at C:\Users\filip\AppData\Local\Android\sdk
    • Platform android-29, build-tools 29.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Android Studio (version 4.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[!] VS Code (version 1.46.0)
    • VS Code at C:\Users\filip\AppData\Local\Programs\Microsoft VS Code
    X Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (1 available)
    • Android SDK built for x86 64 • emulator-5554 • android-x64 • Android 9 (API 28) (emulator)

! Doctor found issues in 1 category.
fleepp commented 4 years ago

pubspec.yaml

name: ehbo
description: A new Flutter application.

# The following line prevents the package from being accidentally published to
# pub.dev using `pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev

# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.1+1

environment:
  sdk: ">=2.7.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  http: ^0.12.1
  url_launcher: ^5.4.10
  overlay_support: ^1.0.0
  flutter_spinkit: ^4.1.2+1

  flutter_launcher_icons: ^0.7.5
flutter_icons:
  image_path: "images/icon.png"
  android: true
  ios: true

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^0.1.3

dev_dependencies:
  flutter_test:
    sdk: flutter

# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec

# The following section is specific to Flutter.
flutter:

  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  assets:
    - images/

  # An image asset can refer to one or more resolution-specific "variants", see
  # https://flutter.dev/assets-and-images/#resolution-aware.

  # For details regarding adding assets from package dependencies, see
  # https://flutter.dev/assets-and-images/#from-packages

  # To add custom fonts to your application, add a fonts section here,
  # in this "flutter" section. Each entry in this list should have a
  # "family" key with the font family name, and a "fonts" key with a
  # list giving the asset and other descriptors for the font. For
  # example:
  fonts:
    - family: Baloo
      fonts:
        - asset: fonts/BalooBhaina2-Regular.ttf
        - asset: fonts/BalooBhaina2-Medium.ttf
          weight: 500
        - asset: fonts/BalooBhaina2-SemiBold.ttf
          weight: 600

  #
  # For details regarding fonts from package dependencies,
  # see https://flutter.dev/custom-fonts/#from-packages
fleepp commented 4 years ago
logs ``` [ +103 ms] executing: [C:\src\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H [ +56 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H [ ] 9c3f0faa6da061f4f69ee1988a1416be985360f0 [ ] executing: [C:\src\flutter/] git tag --contains HEAD [ +176 ms] Exit code 0 from: git tag --contains HEAD [ +1 ms] executing: [C:\src\flutter/] git describe --match *.*.*-*.*.pre --first-parent --long --tags [ +43 ms] Exit code 0 from: git describe --match *.*.*-*.*.pre --first-parent --long --tags [ ] 1.20.0-0.0.pre-91-g9c3f0faa6 [ +10 ms] executing: [C:\src\flutter/] git rev-parse --abbrev-ref --symbolic @{u} [ +33 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u} [ ] origin/master [ ] executing: [C:\src\flutter/] git ls-remote --get-url origin [ +30 ms] Exit code 0 from: git ls-remote --get-url origin [ ] https://github.com/flutter/flutter.git [ +66 ms] executing: [C:\src\flutter/] git rev-parse --abbrev-ref HEAD [ +33 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD [ ] master [ +64 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update. [ ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update. [ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update. [ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update. [ +8 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update. [ +55 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update. [ ] Artifact Instance of 'GradleWrapper' is not required, skipping update. [ ] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update. [ ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update. [ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update. [ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update. [ ] Artifact Instance of 'FlutterSdk' is not required, skipping update. [ ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update. [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update. [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update. [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update. [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update. [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update. [ +5 ms] Running "flutter pub get" in ehbo... [ +4 ms] executing: [C:\Users\filip\AndroidStudioProjects\ehbo/] C:\src\flutter\bin\cache\dart-sdk\bin\pub.bat --verbose get --no-precompile [ +111 ms] FINE: Pub 2.9.0-14.0.dev.flutter-2b917f5b6a [ +2 ms] IO : Spawning "cmd /c ver" in C:\Users\filip\AndroidStudioProjects\ehbo\. [ +1 ms] IO : Finished ver. Exit code 0. [ ] | stdout: [ +1 ms] | | [ ] | | Microsoft Windows [Version 10.0.18362.900] [ ] | Nothing output on stderr. [ +43 ms] MSG : Resolving dependencies... [ +45 ms] SLVR: fact: ehbo is 1.0.1+1 [ +4 ms] SLVR: derived: ehbo [ +21 ms] SLVR: fact: ehbo depends on flutter any from sdk [ +1 ms] SLVR: fact: ehbo depends on http ^0.12.1 [ ] SLVR: fact: ehbo depends on url_launcher ^5.4.10 [ ] SLVR: fact: ehbo depends on overlay_support ^1.0.0 [ ] SLVR: fact: ehbo depends on flutter_spinkit ^4.1.2+1 [ ] SLVR: fact: ehbo depends on flutter_launcher_icons ^0.7.5 [ ] SLVR: fact: ehbo depends on flutter_test any from sdk [ ] SLVR: selecting ehbo [ ] SLVR: derived: flutter_test any from sdk [ +1 ms] SLVR: derived: flutter_launcher_icons ^0.7.5 [ +2 ms] SLVR: derived: flutter_spinkit ^4.1.2+1 [ ] SLVR: derived: overlay_support ^1.0.0 [ ] SLVR: derived: url_launcher ^5.4.10 [ ] SLVR: derived: http ^0.12.1 [ ] SLVR: derived: flutter any from sdk [ +10 ms] SLVR: fact: flutter_test 0.0.0 from sdk depends on flutter any from sdk [ ] SLVR: fact: flutter_test 0.0.0 from sdk depends on test_api 0.2.16 [ ] SLVR: fact: flutter_test 0.0.0 from sdk depends on path 1.7.0 [ ] SLVR: fact: flutter_test 0.0.0 from sdk depends on fake_async 1.1.0 [ ] SLVR: fact: flutter_test 0.0.0 from sdk depends on clock 1.0.1 [ ] SLVR: fact: flutter_test 0.0.0 from sdk depends on stack_trace 1.9.3 [ ] SLVR: fact: flutter_test 0.0.0 from sdk depends on vector_math 2.0.8 [ ] SLVR: fact: flutter_test 0.0.0 from sdk depends on async 2.4.1 [ +1 ms] SLVR: fact: flutter_test 0.0.0 from sdk depends on boolean_selector 2.0.0 [ ] SLVR: fact: flutter_test 0.0.0 from sdk depends on characters 1.0.0 [ ] SLVR: fact: flutter_test 0.0.0 from sdk depends on charcode 1.1.3 [ ] SLVR: fact: flutter_test 0.0.0 from sdk depends on collection 1.14.12 [ ] SLVR: fact: flutter_test 0.0.0 from sdk depends on matcher 0.12.6 [ ] SLVR: fact: flutter_test 0.0.0 from sdk depends on meta 1.1.8 [ +1 ms] SLVR: fact: flutter_test 0.0.0 from sdk depends on source_span 1.7.0 [ +1 ms] SLVR: fact: flutter_test 0.0.0 from sdk depends on stream_channel 2.0.0 [ ] SLVR: fact: flutter_test 0.0.0 from sdk depends on string_scanner 1.0.5 [ +2 ms] SLVR: fact: flutter_test 0.0.0 from sdk depends on term_glyph 1.1.0 [ ] SLVR: fact: flutter_test 0.0.0 from sdk depends on typed_data 1.1.6 [ ] SLVR: selecting flutter_test 0.0.0 from sdk [ ] SLVR: derived: typed_data 1.1.6 [ +1 ms] SLVR: derived: term_glyph 1.1.0 [ ] SLVR: derived: string_scanner 1.0.5 [ ] SLVR: derived: stream_channel 2.0.0 [ ] SLVR: derived: source_span 1.7.0 [ ] SLVR: derived: meta 1.1.8 [ ] SLVR: derived: matcher 0.12.6 [ ] SLVR: derived: collection 1.14.12 [ ] SLVR: derived: charcode 1.1.3 [ ] SLVR: derived: characters 1.0.0 [ ] SLVR: derived: boolean_selector 2.0.0 [ ] SLVR: derived: async 2.4.1 [ +1 ms] SLVR: derived: vector_math 2.0.8 [ ] SLVR: derived: stack_trace 1.9.3 [ ] SLVR: derived: clock 1.0.1 [ ] SLVR: derived: fake_async 1.1.0 [ ] SLVR: derived: path 1.7.0 [ ] SLVR: derived: test_api 0.2.16 [ ] SLVR: fact: flutter_launcher_icons 0.7.5 depends on image ^2.1.1 [ ] SLVR: fact: flutter_launcher_icons 0.7.5 depends on args ^1.5.0 [ ] SLVR: fact: flutter_launcher_icons 0.7.5 depends on yaml ^2.1.15 [ ] SLVR: selecting flutter_launcher_icons 0.7.5 [ ] SLVR: derived: yaml ^2.1.15 [ ] SLVR: derived: args ^1.5.0 [ ] SLVR: derived: image ^2.1.1 [ +3 ms] SLVR: fact: flutter_spinkit 4.1.2+1 depends on flutter any from sdk [ ] SLVR: selecting flutter_spinkit 4.1.2+1 [ +10 ms] SLVR: fact: overlay_support 1.0.4 depends on flutter any from sdk [ ] SLVR: fact: overlay_support 1.0.4 depends on async ^2.1.0 [ ] SLVR: selecting overlay_support 1.0.4 [ +7 ms] SLVR: fact: url_launcher 5.4.10 depends on flutter any from sdk [ ] SLVR: fact: url_launcher 5.4.10 depends on url_launcher_platform_interface ^1.0.4 [ ] SLVR: fact: url_launcher 5.4.10 depends on url_launcher_web ^0.1.0+1 [ ] SLVR: fact: url_launcher 5.4.10 depends on url_launcher_macos ^0.0.1 [ ] SLVR: selecting url_launcher 5.4.10 [ ] SLVR: derived: url_launcher_macos ^0.0.1 [ +1 ms] SLVR: derived: url_launcher_web ^0.1.0+1 [ ] SLVR: derived: url_launcher_platform_interface ^1.0.4 [ +8 ms] SLVR: fact: http 0.12.1 depends on http_parser >=0.0.1 <4.0.0 [ +1 ms] SLVR: fact: http 0.12.1 depends on path >=0.9.0 <2.0.0 [ ] SLVR: fact: http 0.12.1 depends on pedantic ^1.0.0 [ ] SLVR: selecting http 0.12.1 [ ] SLVR: derived: pedantic ^1.0.0 [ ] SLVR: derived: http_parser >=0.0.1 <4.0.0 [ +9 ms] SLVR: fact: flutter 0.0.0 from sdk depends on characters 1.0.0 [ ] SLVR: fact: flutter 0.0.0 from sdk depends on collection 1.14.12 [ ] SLVR: fact: flutter 0.0.0 from sdk depends on meta 1.1.8 [ ] SLVR: fact: flutter 0.0.0 from sdk depends on typed_data 1.1.6 [ ] SLVR: fact: flutter 0.0.0 from sdk depends on vector_math 2.0.8 [ ] SLVR: fact: flutter 0.0.0 from sdk depends on sky_engine any from sdk [ ] SLVR: selecting flutter 0.0.0 from sdk [ ] SLVR: derived: sky_engine any from sdk [ +4 ms] SLVR: selecting typed_data 1.1.6 [ +8 ms] SLVR: selecting term_glyph 1.1.0 [ +8 ms] SLVR: fact: string_scanner 1.0.5 depends on charcode ^1.1.0 [ ] SLVR: fact: string_scanner 1.0.5 depends on meta ^1.1.0 [ ] SLVR: fact: string_scanner 1.0.5 depends on source_span ^1.4.0 [ ] SLVR: selecting string_scanner 1.0.5 [ +6 ms] SLVR: fact: stream_channel 2.0.0 depends on async >=1.11.0 <3.0.0 [ ] SLVR: selecting stream_channel 2.0.0 [ +8 ms] SLVR: fact: source_span 1.7.0 depends on charcode ^1.0.0 [ ] SLVR: fact: source_span 1.7.0 depends on collection ^1.8.0 [ ] SLVR: fact: source_span 1.7.0 depends on meta >=0.9.0 <2.0.0 [ ] SLVR: fact: source_span 1.7.0 depends on path ^1.2.0 [ ] SLVR: fact: source_span 1.7.0 depends on term_glyph ^1.0.0 [ ] SLVR: selecting source_span 1.7.0 [ +6 ms] SLVR: selecting meta 1.1.8 [ +7 ms] SLVR: fact: matcher 0.12.6 depends on stack_trace ^1.2.0 [ ] SLVR: selecting matcher 0.12.6 [ +6 ms] SLVR: selecting collection 1.14.12 [ +7 ms] SLVR: selecting charcode 1.1.3 [ +6 ms] SLVR: selecting characters 1.0.0 [ +6 ms] SLVR: fact: boolean_selector 2.0.0 depends on source_span ^1.0.0 [ ] SLVR: fact: boolean_selector 2.0.0 depends on string_scanner ^1.0.0 [ ] SLVR: selecting boolean_selector 2.0.0 [ +7 ms] SLVR: fact: async 2.4.1 depends on collection ^1.5.0 [ ] SLVR: selecting async 2.4.1 [ +6 ms] SLVR: selecting vector_math 2.0.8 [ +7 ms] SLVR: fact: stack_trace 1.9.3 depends on path ^1.2.0 [ ] SLVR: selecting stack_trace 1.9.3 [ +9 ms] SLVR: fact: clock 1.0.1 depends on meta >=0.9.0 <2.0.0 [ ] SLVR: selecting clock 1.0.1 [ +7 ms] SLVR: fact: fake_async 1.1.0 depends on clock ^1.0.0 [ ] SLVR: fact: fake_async 1.1.0 depends on collection ^1.8.0 [ ] SLVR: selecting fake_async 1.1.0 [ +5 ms] SLVR: selecting path 1.7.0 [ +7 ms] SLVR: fact: test_api 0.2.16 depends on async ^2.0.0 [ ] SLVR: fact: test_api 0.2.16 depends on boolean_selector >=1.0.0 <3.0.0 [ ] SLVR: fact: test_api 0.2.16 depends on collection ^1.8.0 [ ] SLVR: fact: test_api 0.2.16 depends on meta ^1.1.5 [ ] SLVR: fact: test_api 0.2.16 depends on path ^1.2.0 [ ] SLVR: fact: test_api 0.2.16 depends on source_span ^1.4.0 [ ] SLVR: fact: test_api 0.2.16 depends on stack_trace ^1.9.0 [ ] SLVR: fact: test_api 0.2.16 depends on stream_channel >=1.7.0 <3.0.0 [ ] SLVR: fact: test_api 0.2.16 depends on string_scanner ^1.0.0 [ ] SLVR: fact: test_api 0.2.16 depends on term_glyph ^1.0.0 [ ] SLVR: fact: test_api 0.2.16 depends on matcher >=0.12.6 <0.12.7 [ ] SLVR: selecting test_api 0.2.16 [ +2 ms] SLVR: fact: yaml 2.2.1 depends on charcode ^1.1.0 [ ] SLVR: fact: yaml 2.2.1 depends on collection ^1.1.0 [ ] SLVR: fact: yaml 2.2.1 depends on string_scanner >=0.1.4 <2.0.0 [ ] SLVR: fact: yaml 2.2.1 depends on source_span ^1.0.0 [ ] SLVR: selecting yaml 2.2.1 [ +3 ms] SLVR: selecting args 1.6.0 [ +6 ms] SLVR: fact: image 2.1.12 depends on archive >=1.0.16 <3.0.0 [ ] SLVR: fact: image 2.1.12 depends on xml ^3.2.5 [ ] SLVR: selecting image 2.1.12 [ ] SLVR: derived: xml ^3.2.5 [ ] SLVR: derived: archive >=1.0.16 <3.0.0 [ +5 ms] SLVR: fact: url_launcher_macos 0.0.1+7 depends on flutter any from sdk [ ] SLVR: selecting url_launcher_macos 0.0.1+7 [ +6 ms] SLVR: fact: url_launcher_web 0.1.1+6 depends on url_launcher_platform_interface ^1.0.1 [ ] SLVR: fact: url_launcher_web 0.1.1+6 depends on platform_detect ^1.4.0 [ +1 ms] SLVR: fact: url_launcher_web 0.1.1+6 depends on flutter any from sdk [ ] SLVR: fact: url_launcher_web 0.1.1+6 depends on flutter_web_plugins any from sdk [ ] SLVR: fact: url_launcher_web 0.1.1+6 depends on meta ^1.1.7 [ ] SLVR: selecting url_launcher_web 0.1.1+6 [ ] SLVR: derived: flutter_web_plugins any from sdk [ ] SLVR: derived: platform_detect ^1.4.0 [ +4 ms] SLVR: fact: url_launcher_platform_interface 1.0.7 depends on flutter any from sdk [ +1 ms] SLVR: fact: url_launcher_platform_interface 1.0.7 depends on meta ^1.0.5 [ +1 ms] SLVR: fact: url_launcher_platform_interface 1.0.7 depends on plugin_platform_interface ^1.0.1 [ ] SLVR: selecting url_launcher_platform_interface 1.0.7 [ ] SLVR: derived: plugin_platform_interface ^1.0.1 [ +4 ms] SLVR: selecting pedantic 1.9.0 [ +6 ms] SLVR: fact: http_parser 3.1.4 depends on charcode ^1.1.0 [ ] SLVR: fact: http_parser 3.1.4 depends on collection >=0.9.1 <2.0.0 [ ] SLVR: fact: http_parser 3.1.4 depends on source_span ^1.0.0 [ +1 ms] SLVR: fact: http_parser 3.1.4 depends on string_scanner >=0.0.0 <2.0.0 [ ] SLVR: fact: http_parser 3.1.4 depends on typed_data ^1.1.0 [ ] SLVR: selecting http_parser 3.1.4 [ +3 ms] SLVR: selecting sky_engine 0.0.99 from sdk [ +6 ms] SLVR: fact: xml 3.6.1 depends on collection ^1.14.0 [ ] SLVR: fact: xml 3.6.1 depends on convert ^2.1.0 [ ] SLVR: fact: xml 3.6.1 depends on meta ^1.1.0 [ ] SLVR: fact: xml 3.6.1 depends on petitparser ^2.4.0 [ ] SLVR: selecting xml 3.6.1 [ ] SLVR: derived: petitparser ^2.4.0 [ ] SLVR: derived: convert ^2.1.0 [ +4 ms] SLVR: fact: archive 2.0.13 depends on crypto ^2.0.0 [ ] SLVR: fact: archive 2.0.13 depends on args ^1.4.0 [ ] SLVR: fact: archive 2.0.13 depends on path ^1.5.1 [ ] SLVR: selecting archive 2.0.13 [ ] SLVR: derived: crypto ^2.0.0 [ +5 ms] SLVR: fact: flutter_web_plugins 0.0.0 from sdk depends on flutter any from sdk [ ] SLVR: fact: flutter_web_plugins 0.0.0 from sdk depends on characters 1.0.0 [ ] SLVR: fact: flutter_web_plugins 0.0.0 from sdk depends on collection 1.14.12 [ ] SLVR: fact: flutter_web_plugins 0.0.0 from sdk depends on meta 1.1.8 [ ] SLVR: fact: flutter_web_plugins 0.0.0 from sdk depends on typed_data 1.1.6 [ ] SLVR: fact: flutter_web_plugins 0.0.0 from sdk depends on vector_math 2.0.8 [ ] SLVR: selecting flutter_web_plugins 0.0.0 from sdk [ +5 ms] SLVR: fact: platform_detect 1.4.0 depends on meta ^1.0.4 [ ] SLVR: fact: platform_detect 1.4.0 depends on pub_semver ^1.4.2 [ ] SLVR: selecting platform_detect 1.4.0 [ ] SLVR: derived: pub_semver ^1.4.2 [ +5 ms] SLVR: fact: plugin_platform_interface 1.0.2 depends on meta ^1.0.0 [ +1 ms] SLVR: selecting plugin_platform_interface 1.0.2 [ +5 ms] SLVR: fact: petitparser 2.4.0 depends on meta ^1.1.0 [ ] SLVR: selecting petitparser 2.4.0 [ +5 ms] SLVR: fact: convert 2.1.1 depends on charcode ^1.1.0 [ ] SLVR: fact: convert 2.1.1 depends on typed_data ^1.1.0 [ ] SLVR: selecting convert 2.1.1 [ +5 ms] SLVR: fact: crypto 2.1.4 depends on collection ^1.0.0 [ ] SLVR: fact: crypto 2.1.4 depends on convert >=1.0.0 <3.0.0 [ ] SLVR: fact: crypto 2.1.4 depends on typed_data ^1.0.0 [ ] SLVR: selecting crypto 2.1.4 [ +4 ms] SLVR: fact: pub_semver 1.4.4 depends on collection ^1.0.0 [ ] SLVR: selecting pub_semver 1.4.4 [ +4 ms] SLVR: Version solving took 0:00:00.419137 seconds. [ ] | Tried 1 solutions. [ ] FINE: Resolving dependencies finished (0.463s). [ +46 ms] IO : Writing 6869 characters to text file .\pubspec.lock. [ ] FINE: Contents: [ ] | # Generated by pub [ ] | # See https://dart.dev/tools/pub/glossary#lockfile [ ] | packages: [ ] | archive: [ ] | dependency: transitive [ ] | description: [ ] | name: archive [ +1 ms] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "2.0.13" [ ] | args: [ ] | dependency: transitive [ ] | description: [ +1 ms] | name: args [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.6.0" [ ] | async: [ ] | dependency: transitive [ ] | description: [ ] | name: async [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "2.4.1" [ +1 ms] | boolean_selector: [ ] | dependency: transitive [ ] | description: [ ] | name: boolean_selector [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "2.0.0" [ ] | characters: [ ] | dependency: transitive [ ] | description: [ ] | name: characters [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.0.0" [ ] | charcode: [ ] | dependency: transitive [ ] | description: [ ] | name: charcode [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.1.3" [ ] | clock: [ ] | dependency: transitive [ ] | description: [ ] | name: clock [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.0.1" [ ] | collection: [ ] | dependency: transitive [ ] | description: [ ] | name: collection [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.14.12" [ ] | convert: [ ] | dependency: transitive [ ] | description: [ ] | name: convert [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ +2 ms] | version: "2.1.1" [ ] | crypto: [ ] | dependency: transitive [ ] | description: [ +1 ms] | name: crypto [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "2.1.4" [ ] | fake_async: [ ] | dependency: transitive [ ] | description: [ ] | name: fake_async [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.1.0" [ ] | flutter: [ ] | dependency: "direct main" [ ] | description: flutter [ ] | source: sdk [ ] | version: "0.0.0" [ ] | flutter_launcher_icons: [ ] | dependency: "direct main" [ ] | description: [ ] | name: flutter_launcher_icons [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "0.7.5" [ ] | flutter_spinkit: [ ] | dependency: "direct main" [ ] | description: [ ] | name: flutter_spinkit [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "4.1.2+1" [ ] | flutter_test: [ ] | dependency: "direct dev" [ ] | description: flutter [ ] | source: sdk [ ] | version: "0.0.0" [ ] | flutter_web_plugins: [ ] | dependency: transitive [ ] | description: flutter [ ] | source: sdk [ ] | version: "0.0.0" [ ] | http: [ ] | dependency: "direct main" [ ] | description: [ ] | name: http [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "0.12.1" [ ] | http_parser: [ ] | dependency: transitive [ +2 ms] | description: [ ] | name: http_parser [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "3.1.4" [ ] | image: [ ] | dependency: transitive [ ] | description: [ ] | name: image [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "2.1.12" [ ] | matcher: [ ] | dependency: transitive [ ] | description: [ ] | name: matcher [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "0.12.6" [ ] | meta: [ ] | dependency: transitive [ ] | description: [ ] | name: meta [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.1.8" [ ] | overlay_support: [ ] | dependency: "direct main" [ ] | description: [ ] | name: overlay_support [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.0.4" [ ] | path: [ ] | dependency: transitive [ ] | description: [ ] | name: path [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.7.0" [ ] | pedantic: [ ] | dependency: transitive [ ] | description: [ ] | name: pedantic [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.9.0" [ ] | petitparser: [ ] | dependency: transitive [ ] | description: [ ] | name: petitparser [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "2.4.0" [ ] | platform_detect: [ ] | dependency: transitive [ ] | description: [ ] | name: platform_detect [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.4.0" [ ] | plugin_platform_interface: [ ] | dependency: transitive [ ] | description: [ ] | name: plugin_platform_interface [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.0.2" [ ] | pub_semver: [ ] | dependency: transitive [ ] | description: [ ] | name: pub_semver [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.4.4" [ ] | sky_engine: [ ] | dependency: transitive [ ] | description: flutter [ ] | source: sdk [ ] | version: "0.0.99" [ ] | source_span: [ ] | dependency: transitive [ ] | description: [ ] | name: source_span [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ +2 ms] | version: "1.7.0" [ ] | stack_trace: [ ] | dependency: transitive [ ] | description: [ ] | name: stack_trace [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.9.3" [ ] | stream_channel: [ ] | dependency: transitive [ ] | description: [ ] | name: stream_channel [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "2.0.0" [ ] | string_scanner: [ ] | dependency: transitive [ +1 ms] | description: [ ] | name: string_scanner [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.0.5" [ ] | term_glyph: [ ] | dependency: transitive [ ] | description: [ ] | name: term_glyph [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.1.0" [ ] | test_api: [ ] | dependency: transitive [ ] | description: [ ] | name: test_api [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "0.2.16" [ ] | typed_data: [ +1 ms] | dependency: transitive [ ] | description: [ ] | name: typed_data [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.1.6" [ ] | url_launcher: [ ] | dependency: "direct main" [ ] | description: [ ] | name: url_launcher [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ +1 ms] | version: "5.4.10" [ +1 ms] | url_launcher_macos: [ +3 ms] | dependency: transitive [ ] | description: [ ] | name: url_launcher_macos [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "0.0.1+7" [ ] | url_launcher_platform_interface: [ ] | dependency: transitive [ ] | description: [ ] | name: url_launcher_platform_interface [ +1 ms] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "1.0.7" [ ] | url_launcher_web: [ ] | dependency: transitive [ ] | description: [ ] | name: url_launcher_web [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "0.1.1+6" [ ] | vector_math: [ ] | dependency: transitive [ ] | description: [ ] | name: vector_math [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "2.0.8" [ ] | xml: [ ] | dependency: transitive [ ] | description: [ ] | name: xml [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "3.6.1" [ ] | yaml: [ ] | dependency: transitive [ ] | description: [ ] | name: yaml [ ] | url: "https://pub.dartlang.org" [ ] | source: hosted [ ] | version: "2.2.1" [ ] | sdks: [ ] | dart: ">=2.9.0-14.0.dev <3.0.0" [ ] | flutter: ">=1.12.13+hotfix.5 <2.0.0" [ ] IO : Writing 4441 characters to text file .\.packages. [ ] FINE: Contents: [ ] | # Generated by pub on 2020-06-26 08:02:18.565203. [ ] | archive:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/archive-2.0.13/lib/ [ ] | args:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/args-1.6.0/lib/ [ +1 ms] | async:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/async-2.4.1/lib/ [ ] | boolean_selector:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/boolean_selector-2.0.0/lib/ [ +1 ms] | characters:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/characters-1.0.0/lib/ [ ] | charcode:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/charcode-1.1.3/lib/ [ ] | clock:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/clock-1.0.1/lib/ [ ] | collection:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/collection-1.14.12/lib/ [ ] | convert:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/convert-2.1.1/lib/ [ ] | crypto:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/crypto-2.1.4/lib/ [ ] | fake_async:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/fake_async-1.1.0/lib/ [ ] | flutter:file:///C:/src/flutter/packages/flutter/lib/ [ ] | flutter_launcher_icons:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/flutter_launcher_icons-0.7.5/lib/ [ ] | flutter_spinkit:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/flutter_spinkit-4.1.2+1/lib/ [ ] | flutter_test:file:///C:/src/flutter/packages/flutter_test/lib/ [ ] | flutter_web_plugins:file:///C:/src/flutter/packages/flutter_web_plugins/lib/ [ ] | http:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/http-0.12.1/lib/ [ ] | http_parser:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/http_parser-3.1.4/lib/ [ ] | image:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/image-2.1.12/lib/ [ ] | matcher:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/matcher-0.12.6/lib/ [ ] | meta:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/meta-1.1.8/lib/ [ ] | overlay_support:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/overlay_support-1.0.4/lib/ [ ] | path:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/path-1.7.0/lib/ [ ] | pedantic:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/pedantic-1.9.0/lib/ [ ] | petitparser:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/petitparser-2.4.0/lib/ [ ] | platform_detect:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/platform_detect-1.4.0/lib/ [ ] | plugin_platform_interface:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/plugin_platform_interface-1.0.2/lib/ [ ] | pub_semver:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/pub_semver-1.4.4/lib/ [ ] | sky_engine:file:///C:/src/flutter/bin/cache/pkg/sky_engine/lib/ [ ] | source_span:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/source_span-1.7.0/lib/ [ ] | stack_trace:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/stack_trace-1.9.3/lib/ [ ] | stream_channel:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/stream_channel-2.0.0/lib/ [ ] | string_scanner:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/string_scanner-1.0.5/lib/ [ ] | term_glyph:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/term_glyph-1.1.0/lib/ [ ] | test_api:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/test_api-0.2.16/lib/ [ ] | typed_data:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/typed_data-1.1.6/lib/ [ ] | url_launcher:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/url_launcher-5.4.10/lib/ [ ] | url_launcher_macos:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/url_launcher_macos-0.0.1+7/lib/ [ ] | url_launcher_platform_interface:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/url_launcher_platform_interface-1.0.7/lib/ [ ] | url_launcher_web:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/url_launcher_web-0.1.1+6/lib/ [ ] | vector_math:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/vector_math-2.0.8/lib/ [ ] | xml:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/xml-3.6.1/lib/ [ ] | yaml:file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/yaml-2.2.1/lib/ [ ] | ehbo:lib/ [ ] MSG : Got dependencies! [ +11 ms] IO : Writing 9147 characters to text file .\.dart_tool\package_config.json. [ ] FINE: Contents: [ ] | { [ ] | "configVersion": 2, [ ] | "packages": [ [ ] | { [ ] | "name": "archive", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/archive-2.0.13", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.0" [ +1 ms] | }, [ ] | { [ ] | "name": "args", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/args-1.6.0", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.3" [ ] | }, [ ] | { [ ] | "name": "async", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/async-2.4.1", [ +1 ms] | "packageUri": "lib/", [ ] | "languageVersion": "2.2" [ ] | }, [ ] | { [ ] | "name": "boolean_selector", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/boolean_selector-2.0.0", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.4" [ ] | }, [ ] | { [ ] | "name": "characters", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/characters-1.0.0", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.6" [ ] | }, [ +1 ms] | { [ ] | "name": "charcode", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/charcode-1.1.3", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.0" [ ] | }, [ ] | { [ ] | "name": "clock", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/clock-1.0.1", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.0" [ ] | }, [ ] | { [ ] | "name": "collection", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/collection-1.14.12", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.0" [ ] | }, [ ] | { [ ] | "name": "convert", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/convert-2.1.1", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "1.17" [ ] | }, [ ] | { [ +1 ms] | "name": "crypto", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/crypto-2.1.4", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.1" [ ] | }, [ ] | { [ ] | "name": "fake_async", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/fake_async-1.1.0", [ +1 ms] | "packageUri": "lib/", [ ] | "languageVersion": "2.2" [ ] | }, [ ] | { [ ] | "name": "flutter", [ ] | "rootUri": "file:///C:/src/flutter/packages/flutter", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.9" [ ] | }, [ ] | { [ ] | "name": "flutter_launcher_icons", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/flutter_launcher_icons-0.7.5", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.2" [ ] | }, [ ] | { [ ] | "name": "flutter_spinkit", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/flutter_spinkit-4.1.2+1", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.5" [ +1 ms] | }, [ ] | { [ ] | "name": "flutter_test", [ ] | "rootUri": "file:///C:/src/flutter/packages/flutter_test", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.2" [ ] | }, [ ] | { [ ] | "name": "flutter_web_plugins", [ ] | "rootUri": "file:///C:/src/flutter/packages/flutter_web_plugins", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.0" [ ] | }, [ ] | { [ ] | "name": "http", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/http-0.12.1", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.4" [ ] | }, [ ] | { [ +1 ms] | "name": "http_parser", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/http_parser-3.1.4", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.3" [ ] | }, [ ] | { [ ] | "name": "image", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/image-2.1.12", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.0" [ ] | }, [ ] | { [ ] | "name": "matcher", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/matcher-0.12.6", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.2" [ ] | }, [ ] | { [ ] | "name": "meta", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/meta-1.1.8", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "1.12" [ ] | }, [ ] | { [ ] | "name": "overlay_support", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/overlay_support-1.0.4", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.1" [ ] | }, [ ] | { [ ] | "name": "path", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/path-1.7.0", [ +1 ms] | "packageUri": "lib/", [ +2 ms] | "languageVersion": "2.0" [ +1 ms] | }, [ ] | { [ ] | "name": "pedantic", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/pedantic-1.9.0", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.1" [ ] | }, [ ] | { [ ] | "name": "petitparser", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/petitparser-2.4.0", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.4" [ ] | }, [ ] | { [ ] | "name": "platform_detect", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/platform_detect-1.4.0", [ +1 ms] | "packageUri": "lib/", [ ] | "languageVersion": "2.4" [ ] | }, [ ] | { [ ] | "name": "plugin_platform_interface", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/plugin_platform_interface-1.0.2", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.1" [ ] | }, [ ] | { [ ] | "name": "pub_semver", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/pub_semver-1.4.4", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.0" [ ] | }, [ ] | { [ ] | "name": "sky_engine", [ ] | "rootUri": "file:///C:/src/flutter/bin/cache/pkg/sky_engine", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "1.11" [ +1 ms] | }, [ ] | { [ ] | "name": "source_span", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/source_span-1.7.0", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.6" [ ] | }, [ ] | { [ ] | "name": "stack_trace", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/stack_trace-1.9.3", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "1.23" [ ] | }, [ ] | { [ ] | "name": "stream_channel", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/stream_channel-2.0.0", [ +1 ms] | "packageUri": "lib/", [ +1 ms] | "languageVersion": "2.0" [ ] | }, [ ] | { [ ] | "name": "string_scanner", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/string_scanner-1.0.5", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.0" [ ] | }, [ ] | { [ ] | "name": "term_glyph", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/term_glyph-1.1.0", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "1.8" [ ] | }, [ ] | { [ +2 ms] | "name": "test_api", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/test_api-0.2.16", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.7" [ ] | }, [ ] | { [ ] | "name": "typed_data", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/typed_data-1.1.6", [ ] | "packageUri": "lib/", [ +1 ms] | "languageVersion": "2.0" [ +1 ms] | }, [ ] | { [ ] | "name": "url_launcher", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/url_launcher-5.4.10", [ +1 ms] | "packageUri": "lib/", [ ] | "languageVersion": "2.1" [ ] | }, [ +3 ms] | { [ ] | "name": "url_launcher_macos", [ +17 ms] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/url_launcher_macos-0.0.1+7", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.1" [ ] | }, [ ] | { [ ] | "name": "url_launcher_platform_interface", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/url_launcher_platform_interface-1.0.7", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.1" [ ] | }, [ ] | { [ ] | "name": "url_launcher_web", [ +1 ms] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/url_launcher_web-0.1.1+6", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.2" [ ] | }, [ ] | { [ ] | "name": "vector_math", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/vector_math-2.0.8", [ +1 ms] | "packageUri": "lib/", [ ] | "languageVersion": "2.0" [ ] | }, [ ] | { [ +1 ms] | "name": "xml", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/xml-3.6.1", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.6" [ ] | }, [ ] | { [ ] | "name": "yaml", [ ] | "rootUri": "file:///C:/Users/filip/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/yaml-2.2.1", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.4" [ ] | }, [ ] | { [ ] | "name": "ehbo", [ ] | "rootUri": "../", [ ] | "packageUri": "lib/", [ ] | "languageVersion": "2.7" [ ] | } [ ] | ], [ ] | "generated": "2020-06-26T06:02:18.622752Z", [ ] | "generator": "pub", [ +1 ms] | "generatorVersion": "2.9.0-14.0.dev.flutter-2b917f5b6a" [ ] | } [ +23 ms] Running "flutter pub get" in ehbo... (completed in 1,0s) [ +90 ms] Found plugin url_launcher at C:\Users\filip\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher-5.4.10\ [ +5 ms] Found plugin url_launcher_macos at C:\Users\filip\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_macos-0.0.1+7\ [ +3 ms] Found plugin url_launcher_web at C:\Users\filip\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_web-0.1.1+6\ [ +73 ms] Found plugin url_launcher at C:\Users\filip\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher-5.4.10\ [ +1 ms] Found plugin url_launcher_macos at C:\Users\filip\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_macos-0.0.1+7\ [ +2 ms] Found plugin url_launcher_web at C:\Users\filip\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_web-0.1.1+6\ [ +54 ms] Generating C:\Users\filip\AndroidStudioProjects\ehbo\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java [ +55 ms] Initializing file store [ +12 ms] Skipping target: gen_localizations [ +6 ms] kernel_snapshot: Starting due to {} [ +13 ms] C:\src\flutter\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev C:\src\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root C:\src\flutter\bin\cache\artifacts\engine\common\flutter_patched_sdk/ --target=flutter -Ddart.developer.causal_async_stacks=true -Ddart.vm.profile=false -Ddart.vm.product=false --bytecode-options=source-positions,local-var-info,debugger-stops,instance-field-initializers,keep-unreachable-code,avoid-closure-call-instructions --enable-asserts --track-widget-creation --no-link-platform --packages C:\Users\filip\AndroidStudioProjects\ehbo\.packages --output-dill C:\Users\filip\AndroidStudioProjects\ehbo\.dart_tool\flutter_build\d995ca7bddd295c9ca7f22c9ada4f1d5\app.dill --depfile C:\Users\filip\AndroidStudioProjects\ehbo\.dart_tool\flutter_build\d995ca7bddd295c9ca7f22c9ada4f1d5\kernel_snapshot.d package:ehbo/main.dart [+9664 ms] kernel_snapshot: Complete [ +556 ms] copy_flutter_bundle: Starting due to {} [ +294 ms] Manifest contained wildcard assets. Inserting missing file into build graph to force rerun. for more information see #56466. [ +1 ms] Font subetting is not supported in debug mode. The --tree-shake-icons flag will be ignored. [ +30 ms] copy_flutter_bundle: Complete [ +584 ms] Persisting file store [ +8 ms] Done persisting file store [ +15 ms] "flutter bundle" took 12.641ms. [ +114 ms] ensureAnalyticsSent: 110ms [ +6 ms] Running shutdown hooks [ +1 ms] Shutdown hooks complete [ +2 ms] exiting with code 0 ```
fleepp commented 4 years ago

@TahaTesser thanks for your time! It means a lot. I tried to share as much as I could (I hope not to much ;) ). I've saw an update so i'll wil do that as soon as i can.

"A new version of Flutter is available! To update to the latest version, run "flutter upgrade" "

I want to try to provide a 'reproducible minimal code sample' but honestly I don't know what you need. I am not so familiar with those technical terms. Do you mean a simple app and try to publish on the Playstore?

fleepp commented 4 years ago
flutter doctor -v after upgrade:

[√] Flutter (Channel master, 1.20.0-1.0.pre.220, on Microsoft Windows [Version 10.0.18362.900], locale nl-BE)
    • Flutter version 1.20.0-1.0.pre.220 at C:\src\flutter
    • Framework revision 1e6e7150f3 (3 hours ago), 2020-06-26 12:01:59 +0800
    • Engine revision 22b099bc63
    • Dart version 2.9.0 (build 2.9.0-19.0.dev ea87c9b01a)

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at C:\Users\filip\AppData\Local\Android\sdk
    • Platform android-29, build-tools 29.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Android Studio (version 4.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[!] VS Code (version 1.46.0)
    • VS Code at C:\Users\filip\AppData\Local\Programs\Microsoft VS Code
    X Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (1 available)
    • Android SDK built for x86 64 • emulator-5554 • android-x64 • Android 9 (API 28) (emulator)

! Doctor found issues in 1 category.
TahaTesser commented 4 years ago

Hi @fleepp This doesn't seem to be related to Flutter itself since app bundle builds successfully and looks more related to Android Studio itself

Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it. Thank you

littleironical commented 4 years ago

Did you get any answer for this? I've seen this question in Stack Overflow, it says 'return Classic Play Console' and i don't know what does it mean. Can you help me out?

fleepp commented 4 years ago

Use https://play.google.com/apps/publish/ and not the beta version of the Google Play Console on https://play.google.com/console/developers/

ened commented 4 years ago

@TahaTesser This may be well related to Flutter, actually. Flutter creates native libraries (.so) to handle the rendering - and currently, the debug symbols are not included in the bundle/APK that the flutter build system generates.

I am just now trying to debug a native crash report for a Android app but am unable as the symbols are missing.

Android/Gradle can't include something they can not find and it should be the Flutter build system to make these files available.

TahaTesser commented 4 years ago

@ened Thank you for explaining

ened commented 4 years ago

In the interim, I will check if https://github.com/flutter/flutter/wiki/Crashes helps here - and download the appropriate symbols for the engine, then upload it to play store and hope it is picked up correctly.

This is still not ideal if an App has multiple native components in addition to Flutter.

ened commented 4 years ago

@blasten adding you as the Gradle expert: There is now a way to automatically upload debug symbols to the play store like described here: https://support.google.com/googleplay/android-developer/answer/9848633#upload_file

This would be a immense time saver to have the stack traces ready immediately.

jmagman commented 4 years ago

\cc @xster

arun-ns commented 3 years ago

where to add the below line in build.gradle?

android.defaultConfig.ndk.debugSymbolLevel = 'FULL'

xster commented 3 years ago

Reasonable request. I'm surprised there aren't more dupes for this bug.

To be clear, there are 2 separate components to this:

1- It's possible for the Flutter engine to crash. This shouldn't happen when there are bugs in your Dart application code and should ideally never happen. All engine crashes are bugs on the Flutter SDK and we should fix them. Having debug symbols can help you file more actionable bugs for us. https://github.com/flutter/flutter/wiki/Crashes is relevant here and we can help make it easier.

This doesn't include the Java part of the Flutter engine which should produce normal crash logs. This also doesn't include the plugins which are normally written in Java. 2- It's possible for the Flutter application to crash as well. This includes code in the Flutter Dart Framework and in your own application code. This also shouldn't when there are bugs in your Dart application code and should ideally never happen. All Dart code bugs that leads to fatal native crashes are bugs on the Dart SDK and we should fix them. Having debug symbols can help you file more actionable bugs in the Dart SDK repository for us.

To help us prioritize, can you describe more what the specific problem you're trying to solve? Do you have an example crash case that happened in the past that you're looking for a better workflow to debug in the future? It could also be that you're just trying to make that Play Store warning go away.

matthew-carroll commented 3 years ago

@xster I'm running into this in the Play Store and would like the warning to go away :)

But I think it's also the case that in the event that native code does have a bug, and does crash, it seems highly unlikely that a busy dev shop is going to have the bandwidth to effectively understand and communicate those details to the Flutter team to get it resolved. To me, debug symbols seem like a fundamental necessity for reporting native code bugs that are only visible through the Play Store crash logs.

llucax commented 3 years ago

For what is worth, I followed the steps in https://stackoverflow.com/questions/63373245/how-to-add-debug-symbols-to-build-gradle (including the upgrade to gradle-6.5-all.zip in android/gradle/wrapper/gradle-wrapper.properties) and it worked for me. Of course this is not ideal as I had to use Android Studio to install NDK and CMake tools manually (which I guess it will be a problem when I want to automatize the deployment of new version), but it might be useful to someone having crashes and really needing to get the debug info up and running.

(disclaimer: I'm completely alien to Android development, all I know is through Flutter which I started using just a few months ago)

davidmartos96 commented 3 years ago

android.defaultConfig.ndk.debugSymbolLevel = 'FULL'

Does that work though? From what I played with, it looks like it adds debug information in the app bundle, but just the stripped binaries. So basically a duplicate of the libraries in the lib arquitectures folder.

I agree with @matthew-carroll . Currently symbolicating symbols from the Play Store is a bit tedious. Delegating this job to the new Play Store feature would be a helpful addition.

llucax commented 3 years ago

I can confirm that. :disappointed:

$ unzip app-release.aab
...
$ nm base/lib/x86_64/libapp.so
nm: base/lib/x86_64/libapp.so: no symbols
$ nm BUNDLE-METADATA/com.android.tools.build.debugsymbols/x86_64/libapp.so.dbg 
nm: BUNDLE-METADATA/com.android.tools.build.debugsymbols/x86_64/libapp.so.dbg: no symbols
$ md5sum base/lib/x86_64/libapp.so 
b9b5ea54e4ed5f78439e3f308fd79f74  base/lib/x86_64/libapp.so
$ md5sum BUNDLE-METADATA/com.android.tools.build.debugsymbols/x86_64/libapp.so.dbg
b9b5ea54e4ed5f78439e3f308fd79f74  BUNDLE-METADATA/com.android.tools.build.debugsymbols/x86_64/libapp.so.dbg

Same with libflutter.so. Google Play didn't complain about missing debug symbols though :man_facepalming:

flutterq commented 3 years ago

[solved] Playstore error: App Bundle contains native code, and you’ve not uploaded debug symbols

bartekpacia commented 3 years ago

So what's the status of this? Looks like this SO answer explains the process quite well, but is it the recommended way?

MichalDanielDobrzanski commented 3 years ago

How to solve this? Any progress?

yanshouwang commented 3 years ago

Any progress?It's doesn't work even if I added debugSymbolLevel 'FULL' in my Android build.gradle.

muhammadidrees commented 3 years ago

Any update on this?

Isaacn123 commented 3 years ago

Hello guys i was experiencing the same issue.... all i did is install NDK on android Studio and then changed my build tools From classpath 'com.android.tools.build:gradle:4.0.0'

TO : classpath 'com.android.tools.build:gradle:4.1.0'

added android.buildTypes.release.ndk.debugSymbolLevel = 'SYMBOL_TABLE' to the bottom of Android/app/ build.gradle file

hope this helps someone

CengizhanParlak commented 2 years ago

If you wish to fix that on Visual Studio Code:

Back to VSCode. Open your app

At the end of app/build.gradle (the same file that you've added your ndkPath), add one of the following:

Save file and run flutter build appbundle -v from terminal. (v to check if there are other errors)


If it still doesn't worked out for you. Go to <project-dir>/android/local.properties and set ndk.dir as follows:

The last option is deprecated but still works for now (Sep 21)

acarlstein commented 2 years ago

I'm asking due ignorance from my part.

Why do these debug symbol files are not included into the bundle APK when it is created? Why this step isn't automated by default?

Or, why the NDK and the configuration isn't available by default when creating an android project if is a requirement?

Some FYIs:

P/D:

RakaAlrian commented 2 years ago

@CengizhanParlak your workaround only works to generate native-debug-symbols.zip file when I run flutter build apk but there is no native-debug-symbols.zip file when I run flutter build appbundle. Do I need to use specific version of ndk? I'm using the latest version now

CengizhanParlak commented 2 years ago

... but there is no native-debug-symbols.zip file when I run flutter build appbundle.

@RakaAlrian Well, there shouldn't be.. If you run the flutter build appbundle command to build your project then native debug symbols are bundled with the resulting app. You don't have to do anything, native debug symbols are in this bundle. Just simply upload your resulting aab to google developer console.

It shouldn't give any errors.

olof-dev commented 2 years ago

Does anyone know how the solution proposed by many -- to setup the NDK and add android.buildTypes.release.ndk.debugSymbolLevel = 'full' to app/build.gradle -- meshes with building an appbundle with obfuscation enabled? That is, with

flutter build appbundle --obfuscate --split-debug-info

Will the obfuscation still be effective, or does including the debug symbols counteract that?

daraul commented 2 years ago

I am not sure what the accepted wisdom is here. I thought that simply upgrading to flutter 2.5.3 might do the trick, but that didn't work. What should I do? I'm tempted to just ignore the message, and move on with my life. My developer-senses tell me that's a bad idea, though.

CengizhanParlak commented 2 years ago

I am not sure what the accepted wisdom is here. I thought that simply upgrading to flutter 2.5.3 might do the trick, but that didn't work. What should I do? I'm tempted to just ignore the message and move on with my life. My developer-senses tell me that's a bad idea, though.

Have you tried the proposed solutions for Android Studio and/or VSCode? Don't rely on Flutter version update since it doesn't give you the NDK tools that you -basically- need to overcome this problem.

proposed Android Studio solution proposed VSCode solution

vietstone-ng commented 2 years ago

Have you tried the proposed solutions for Android Studio and/or VSCode? Don't rely on Flutter version update since it doesn't give you the NDK tools that you -basically- need to overcome this problem.

proposed Android Studio solution proposed VSCode solution

Don't work for flutter build appbunle. Don't know why

vietstone-ng commented 2 years ago

I followed this answer (this seems a very careful answer): https://stackoverflow.com/a/63436935/566360 But it still does not work . The size of app-release.aab remains the same. And in the output of flutter build appbundle -v, I see this line existing Task :app:stripReleaseDebugSymbols

tarassvidnytskyy commented 2 years ago

These steps helped me: https://stackoverflow.com/a/70337587/11647050

bobatsar commented 2 years ago

@vietstone-ng I had to install the ndk manually via android studio.

To make it work in vscode I had to set in the local.properties file the deprecated ndk.dir=/path/to/ndk as described here.

jaded0 commented 2 years ago

I am running into this problem. Newest version of Android Studio bumblebee, newest version of flutter, newest version of gradle, and every combination of the solutions on this thread and linked, and flutter still doesn't bundle in the native debug symbols. Full description of the issue here:
https://stackoverflow.com/q/71179303/5229301

ThexXTURBOXx commented 1 year ago

Sadly the only way to solve this issue is this: https://stackoverflow.com/a/68778908/5894824 Why does Flutter still not support this?

yberstad commented 1 year ago

I just upgraded ndk from 21.4.7075529 to 22.1.7171670, and now I get the debug symbols. I'm using com.android.tools.build:gradle:7.1.1 and React Natvive 0.69 BTW. I hope this might work for a Flutter project too, since this is more regarding Android build, than specific to Flutter/React Native I suspect.

lybur commented 1 year ago

Face this issue as well, spent a lot of time solving but to no avail. It's not affecting the app feature, but quite annoying to see the warning at Play Console. Hope Flutter able to solve this soon.

diovan-termonos commented 1 year ago

I'm facing the issue as well. I only managed to get debug symbols by using Gradle Plugin 4.3.1 (as suggested here https://www.androidbugfix.com/2022/03/flutter-does-not-include-native-debug.html).

Android Studio Dolphin 2021.3.1 (Build #AI-213.7172.25.2113.9123335)and Flutter 3.3.7 I tried using NDK 25.1.8937393, with Gradle Wrapper gradle-7.5.1-all.zip and Gradle Plugin 7.3.1, and didn't worked for me.

Fernandomr88 commented 1 year ago

This is how I solved: I'm using gradle 7.5 and flutter 3.10.5 and what I have been doing for the past 2 years is this

get the contents of this folder(./build/app/intermediates/merged_native_libs/release/out/lib), zip it and upload to Google Play at that three dots option on the bundle where there's an option "upload debug symbols" or something like that. Captura de Tela 2023-07-11 às 10 37 41

these are the contents zipped: image

this is my ./android/app/build.gradle release code:

   release {
       signingConfig signingConfigs.release
       ndk {
            debugSymbolLevel 'SYMBOL_TABLE' //<--- this defines what goes to those symbols
            abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86_64'
       }
       firebaseCrashlytics {
          nativeSymbolUploadEnabled true
          unstrippedNativeLibsDir file("build/app/intermediates/merged_native_libs/release/out/lib")
       }
        minifyEnabled true
        shrinkResources true

        proguardFiles getDefaultProguardFile(
                'proguard-android-optimize.txt'),
                'proguard-rules.pro'
   }

hope that helps

ThexXTURBOXx commented 1 year ago

@Fernandomr88 It seems like you are doing the same as the guy that I linked here: https://stackoverflow.com/a/68778908/5894824

Fernandomr88 commented 1 year ago

@Fernandomr88 It seems like you are doing the same as the guy that I linked here: https://stackoverflow.com/a/68778908/5894824

yup, seems like it.

giorgio79 commented 10 months ago

looks like Flutter has some incompatibilities with gradle versions as per https://github.com/flutter/flutter/issues/98773