Flutter -Цепочки инструментов не найдены в папке NDK цепочки инструментов для ABI

#flutter #gradle #flutter-dependencies

Вопрос:

Недавно я обновил Android studio до патча 1 Artic Fox 2020.3.1 и использовал последние версии SDK(31). После обновления студии мой существующий проект Flutter не удалось построить с ОШИБКОЙ: сборка не удалась с исключением.Цепочки инструментов не найдены в папке NDK цепочки инструментов для ABI с префиксом: arm-linux-androideabi. Пожалуйста, ознакомьтесь с полным журналом регистрации.

Полный Журнал

 [ 1608 ms] > Task :app:mergeDebugNativeLibs
[        ] > Task :app:stripDebugDebugSymbols FAILED
[   95 ms] w: Detected multiple Kotlin daemon sessions at ..buildkotlinsessions
[        ] Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
[        ] Use '--warning-mode all' to show the individual deprecation warnings.
[        ] See https://docs.gradle.org/6.9/userguide/command_line_interface.html#sec:command_line_warnings
[        ] 825 actionable tasks: 825 executed
[        ] FAILURE: Build failed with an exception.
[        ] * What went wrong:
[        ] Execution failed for task ':app:stripDebugDebugSymbols'.
[        ] > No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi
[        ] * 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 3m 20s
[{"event":"app.progress","params":{"appId":"eaabc68f-7957-45d7-8e88-b20c2e5e0fe6","id":"0","progressId":null,"finished":true}}]
[  690 ms] Exception: Gradle task assembleDebug failed with exit code 1
[    3 ms] 
           #0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
           #1      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:563:9)
           <asynchronous suspension>
           #2      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1043:27)
           <asynchronous suspension>
           #3      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #4      CommandRunner.runCommand (package:args/command_runner.dart:196:13)
           <asynchronous suspension>
           #5      FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:284:9)
           <asynchronous suspension>
           #6      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #7      FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:232:5)
           <asynchronous suspension>
           #8      run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
           <asynchronous suspension>
           #9      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #10     main (package:flutter_tools/executable.dart:91:3)
           <asynchronous suspension>


[{"event":"app.stop","params":{"appId":"eaabc68f-7957-45d7-8e88-b20c2e5e0fe6"}}]
[   13 ms] "flutter run" took 2,02,547ms.
[{"id":0,"error":"app 'eaabc68f-7957-45d7-8e88-b20c2e5e0fe6' not found","trace":"#0      AppDomain.stop (package:flutter_tools/src/commands/daemon.dart:709:7)n#1      Domain.handleCommand.<anonymous closure> (package:flutter_tools/src/commands/daemon.dart:220:34)n#2      new Future.sync (dart:async/future.dart:218:31)n#3      Domain.handleCommand (package:flutter_tools/src/commands/daemon.dart:218:5)n#4      Daemon._handleRequest (package:flutter_tools/src/commands/daemon.dart:144:28)n#5      _rootRunUnary (dart:async/zone.dart:1362:47)n#6      _CustomZone.runUnary (dart:async/zone.dart:1265:19)n#7      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1170:7)n#8      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341:11)n#9      _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)n#10     _ForwardingStreamSubscription._add (dart:async/stream_pipe.dart:123:11)n#11     _MapStream._handleData (dart:async/stream_pipe.dart:218:10)n#12     _ForwardingStreamSubscription._handleData (dart:async/stream_pipe.dart:153:13)n#13     _rootRunUnary (dart:async/zone.dart:1362:47)n#14     _CustomZone.runUnary (dart:async/zone.dart:1265:19)n#15     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1170:7)n#16     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341:11)n#17     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)n#18     _ForwardingStreamSubscription._add (dart:async/stream_pipe.dart:123:11)n#19     _WhereStream._handleData (dart:async/stream_pipe.dart:195:12)n#20     _ForwardingStreamSubscription._handleData (dart:async/stream_pipe.dart:153:13)n#21     _rootRunUnary (dart:async/zone.dart:1362:47)n#22     _CustomZone.runUnary (dart:async/zone.dart:1265:19)n#23     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1170:7)n#24     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341:11)n#25     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)n#26     _SinkTransformerStreamSubscription._add (dart:async/stream_transformers.dart:63:11)n#27     _EventSinkWrapper.add (dart:async/stream_transformers.dart:13:11)n#28     _StringAdapterSink.add (dart:convert/string_conversion.dart:238:11)n#29     _LineSplitterSink._addLines (dart:convert/line_splitter.dart:155:13)n#30     _LineSplitterSink.addSlice (dart:convert/line_splitter.dart:130:5)n#31     StringConversionSinkMixin.add (dart:convert/string_conversion.dart:163:5)n#32     _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:111:24)n#33     _rootRunUnary (dart:async/zone.dart:1362:47)n#34     _CustomZone.runUnary (dart:async/zone.dart:1265:19)n#35     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1170:7)n#36     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341:11)n#37     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)n#38     _SinkTransformerStreamSubscription._add (dart:async/stream_transformers.dart:63:11)n#39     _EventSinkWrapper.add (dart:async/stream_transformers.dart:13:11)n#40     _StringAdapterSink.add (dart:convert/string_conversion.dart:238:11)n#41     _StringAdapterSink.addSlice (dart:convert/string_conversion.dart:243:7)n#42     _Utf8ConversionSink.addSlice (dart:convert/string_conversion.dart:317:20)n#43     _Utf8ConversionSink.add (dart:convert/string_conversion.dart:310:5)n#44     _ConverterStreamEventSink.add (dart:convert/chunked_conversion.dart:72:18)n#45     _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:111:24)n#46     _rootRunUnary (dart:async/zone.dart:1362:47)n#47     _CustomZone.runUnary (dart:async/zone.dart:1265:19)n#48     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1170:7)n#49     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341:11)n#50     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)n#51     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:733:19)n#52     _StreamController._add (dart:async/stream_controller.dart:607:7)n#53     _StreamController.add (dart:async/stream_controller.dart:554:5)n#54     _Socket._onData (dart:io-patch/socket_patch.dart:2160:41)n#55     _rootRunUnary (dart:async/zone.dart:1370:13)n#56     _CustomZone.runUnary (dart:async/zone.dart:1265:19)n#57     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1170:7)n#58     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341:11)n#59     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)n#60     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:733:19)n#61     _StreamController._add (dart:async/stream_controller.dart:607:7)n#62     _StreamController.add (dart:async/stream_controller.dart:554:5)n#63     new _RawSocket.<anonymous closure> (dart:io-patch/socket_patch.dart:1696:33)n#64     _NativeSocket.issueReadEvent.issue (dart:io-patch/socket_patch.dart:1208:14)n#65     _microtaskLoop (dart:async/schedule_microtask.dart:40:21)n#66     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)n#67     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:120:13)n#68     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:185:5)n"}]
 

Ответ №1:

Это связано с тем, что журнал консоли Android studio обновляется неправильно. У меня возникла аналогичная проблема после обновления Android studio до патча 1 Artic Fox 2020.3.1 и использования последних версий SDK(31). Я решил эту проблему следующим образом-

Шаг I

Перейдите в android => gradle =>> обертка = файл gradle-wrapper.properties и

distributionUrl=https://services.gradle.org/distributions/gradle-7.2-all.zip с distributionUrl=https://services.gradle.org/distributions/gradle-{latest version}-all.zip

Вы можете найти последнюю версию по ссылке ниже

https://gradle.org/releases/

Этап II

Перейдите на android => откройте build.gradle

 dependencies {
    classpath 'com.android.tools.build:gradle:4.2.0' 
    ...
}
 

изменение с последней версией

Еще одно простое Решение

Создайте пример приложения flutter после обновления студии до более высокой версии. Затем запустите пример приложения — он будет работать идеально.

Затем выполните шаги I и II и замените значение на значения образца проекта.

Другое решение, если указанное выше решение не работает

Перейдите в Файл=> Настройки в Android Studio

Перейдите В Раздел Плагин=> Установленный Плагин

Перейдите в раздел Плагин Flutter=> Удалите плагин и установите его снова — перезапустите Studio

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

1. Я боролся уже несколько дней. Ты только что спас меня! Вы бы поверили, что это также устранило проблему с конвейером CI? Большое спасибо!