Search code examples
fluttercontinuous-deploymentcicdcodemagic

Build works on local but fails on codemagic | Execution failed for task ':app:stripDebugDebugSymbols'


I'm trying to implement a continuous deployment system to build my app and deploy to Google Play using codemagic. Doing a build works fine locally but fails remotely on codemagic.

Error summary:

FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:stripDebugDebugSymbols'.
> 1 exception was raised by workers:
  org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/usr/local/share/android-sdk/ndk/23.1.7779620/toolchains/llvm/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-strip''

Complete log:

== Building for Android ==

> flutter build appbundle --debug
Running "flutter pub get" in My_Project...                     1,655ms

💪 Building with sound null safety 💪

Running Gradle task 'bundleDebug'...                            
[flutter_background_geolocation] Purging debug resources in release build
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /Users/builder/programs/flutter_2_5_3/.pub-cache/hosted/pub.dartlang.org/geocoding-2.0.1/android/src/main/java/com/baseflow/geocoding/GeocodingPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:stripDebugDebugSymbols'.
> 1 exception was raised by workers:
  org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/usr/local/share/android-sdk/ndk/23.1.7779620/toolchains/llvm/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-strip''


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 2m 19s
Running Gradle task 'bundleDebug'...                              141.1s
Gradle task bundleDebug failed with exit code 1


Build failed :|
Failed to build for Android

Current configuration on codemagic:

Flutter channel: stable 
Mode: debug 
Build for: Android

Solution

  • to fix this you need to upgrade Gradle version in android/gradle/wrapper/gradle-wrapper.properties to 6.7.1 or commit gradle wrapper to your repository if you don't have this file.

    Additional to that you also might need to upgrade Android Gradle plugin in andriod/build.gradle

    - classpath 'com.android.tools.build:gradle:3.5.4'
    + classpath 'com.android.tools.build:gradle:4.2.0'
    

    WITHOUT GRADLE UPGRADE

    if for some reasons you can't upgrade Gradle version you can freeze previous NDK version.

    For that you can specify ndkVersion "22.1.7171670" in your build.gradle and make sure you use Java 1.8 since there is an issue with using latest Java versions.

    In Codemagic you can specify Java version in environment section in your codemagic.yaml like this

    workflows:
      workflow-name:
        environment:
          ndk: r22b
          java: 1.8