Сборка работает на локальном, но завершается с ошибкой в codemagic | Не удалось выполнить задачу ‘:приложение:stripDebugDebugSymbols’

#flutter #continuous-deployment #cicd #codemagic

Вопрос:

Я пытаюсь внедрить систему непрерывного развертывания для создания своего приложения и развертывания в Google Play с помощью codemagic. Выполнение сборки отлично работает локально, но удаленно не удается в codemagic.

Сводка ошибок:

 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''
 

Полный журнал:

 == 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
 

Текущая конфигурация на codemagic:

 Flutter channel: stable 
Mode: debug 
Build for: Android
 

Ответ №1:

чтобы исправить это, вам необходимо обновить версию Gradle android/gradle/wrapper/gradle-wrapper.properties до 6.7.1 или зафиксировать оболочку gradle в своем репозитории, если у вас нет этого файла.

В дополнение к этому вам также может потребоваться обновить плагин Android Gradle в andriod/build.gradle

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

БЕЗ ОБНОВЛЕНИЯ GRADLE

если по каким-либо причинам вы не можете обновить версию Gradle, вы можете заморозить предыдущую версию NDK.

Для этого вы можете указать ndkVersion "22.1.7171670" в своем build.gradle и убедиться, что используете Java 1.8, так как существует проблема с использованием последних версий Java.

В Codemagic вы можете указать версию Java в environment разделе codemagic.yaml , подобном этому

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

Комментарии:

1. Я обновил версию до 6.7.1 и убедился, что android/gradle/wrapper/gradle-wrapper.properties файл находится в моем репозитории github. Но это все еще не работает, с той же проблемой

2.попробуйте обновить плагин для Android android/build.gradle classpath 'com.android.tools.build:gradle:4.2.0' вместо classpath 'com.android.tools.build:gradle:3.5.4'

3. Это решило мою проблему, приложение теперь работает на codemagic. Большое вам спасибо!