#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. Большое вам спасибо!