8

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
eduinvestor
  • 125
  • 8

1 Answers1

14

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
Mikhail Tokarev
  • 2,843
  • 1
  • 14
  • 35
  • 1
    I updated the version to 6.7.1 and I have made sure that the `android/gradle/wrapper/gradle-wrapper.properties` file is in my github repository. But it is still not working, with the same problem – eduinvestor Nov 07 '21 at 22:31
  • 2
    try to upgrade android plugin in `android/build.gradle` `classpath 'com.android.tools.build:gradle:4.2.0'` instead of `classpath 'com.android.tools.build:gradle:3.5.4'` – Mikhail Tokarev Nov 08 '21 at 08:27
  • 1
    This solved my problem, the app is now building on codemagic. Thank you so much! – eduinvestor Nov 08 '21 at 09:16