Я получаю следующую ошибку при запуске flutter run в некоторых проектах, однако в других проектах все работает нормально:
(base) Nusraths-MacBook-Pro:flutter_uber_clone rahama$ flutter emulators --launch Pixel_2_XL_API_28
(base) Nusraths-MacBook-Pro:flutter_uber_clone rahama$ flutter run
Using hardware rendering with device Android SDK built for x86. If you get graphics artifacts, consider enabling software rendering with "--enable-software-rendering".
Launching lib/main.dart on Android SDK built for x86 in debug mode...
Initializing Gradle... 0.8s
Resolving dependencies... 1.4s
Running Gradle task 'assembly debug'...
Running Gradle task 'assembly debug'... Done 9.3s
Built build/app/outputs/apk/debug/app-debug.apk.
Installing build/app/outputs/apk/app.apk... 1.9s
Error: ADB exited with exit code 1
Performing Streamed Install
ADB: failed to install /Users/rahama/development/flutter_uber_clone/build/app/outputs/apk/app.apk: Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE]
Error launching the application on Android SDK built for x86.
Это просто демонстрационный проект флаттера, я не вносил в него никаких изменений.
В моем случае я настраивал свое новое устройство Samsung S21. Я установил драйвер, включил отладку, перезагрузил ноутбук и мобильный телефон и т. д. Но все равно получил эту ошибку. Проблема решилась просто заменой порта USB на подключение по кабелю. Это забавно, потому что этот USB-порт на 100% исправен, мое старое Android-устройство работает нормально, когда оно подключено к этому USB-порту.
У Flutter было новое обновление (кажется, прошлой ночью), запустите flutter upgrade в терминале, и он должен работать нормально (по крайней мере, у меня так получилось).
Документы:
Чтобы обновить как Flutter SDK, так и пакеты, от которых зависит ваше приложение, используйте команду flutter upgrade из корня вашего приложения (тот же каталог, в котором находится файл pubspec.yaml).
Собственно, ответ кроется в сообщении об ошибке вашего вопроса:
[ADB: failed to install /Users/rahama/development/flutter_uber_clone/build/app/outputs/apk/app.apk: Failure[INSTALL_FAILED_INSUFFICIENT_STORAGE]Error launching the application on Android SDK built for x86.]
В вашем эмуляторе заканчивается место, очистите его кеш:
Вы настроены идти..
В моем случае это было вызвано глюком adb, а не проблемой флаттера.
Это было решено путем выполнения комбинации следующего, не уверенного, какой именно шаг исправил это
adb kill-server, а затем adb start-serverНи один из существующих ответов не работал у меня, так что это не было проблемой флаттера. Простой adb install any.apk не сработал. Поэтому я сузил его до проблемы adb/usb.
Примечание. Ниже приведен ответ для stuck at Performing Streamed Install от adb install xxx.apk:
использовать adb install xxx.apk и показывать Performing Streamed Install, но застрял, зависнуть навсегда.
adb -s hxxxxxxxxs install -r /Users/limao/dev/xxx/crawler/appAutoCrawler/AppCrawler/task/20201202_xxx_0192LeiMoChuanShuo/20201202_xxx_0192LeiMoChuanShuo_gameApp_Android/20201202_xxx_0192LeiMoChuanShuo_gameApp_Android_0.apkadb -s hxxxxxxxxs install -r /var/folders/gt/5868sbcd1jq4rxvryqhy2_1sz8n0s3/T/tmpq3ypjfgd/20201202_xxx_0192LeiMoChuanShuo_gameApp_Android_0.apkadb shell pm install но не поддерживаетвсе не работают.
обновить (исходная старая версия 29.0.5) adb до последней версии (30.0.5)
https://developer.android.com/studio/releases/платформенные инструменты
скачать вашу платформу adb
или:
идти к
https://www.xda-developers.com/google-releases-separate-adb-and-fastboot-binary-downloads/
скачивать:
распаковать в полученную папку platform-tools
добавьте папку в свою переменную PATH
например:
vi ~/.zshrc
PATH=/Users/limao/dev/tools/android/adb/platform-tools:$PATH
В моем случае это было решено путем обновления студии Android и всех плагинов флаттера и дротика.
Перейдите в Файл >> аннулировать кеши

это общая проблема с эмулятором и все, что вам нужно, чтобы очистить кеш эмулятора. в моем случае это было решением...
1- открыть AVD Manger.
2- нажмите на (нижняя стрелка) рядом с кнопкой (Редактировать).
3- выберите «Стереть данные».
У меня была такая же проблема с физическим устройством, подключенным через Wi-Fi, тогда я понял, что не так. Батарея моего устройства была ниже 15%, после зарядки он работал как положено. Итак, следите за состоянием батареи, если вы работаете с физическим устройством через Wi-Fi.
Иногда это может работать с удаление вашего приложения и со всеми его данными, затем попробуйте еще раз,
другое исправление касается отправить апк, который вы пытаетесь установить из projectname/build/app/outputs/apk и на свое устройство и установите его и повторите попытку.
Запустить в терминале
$ flutter clean
а потом
$ flutter pub get
а потом
$ flutter packages get
тогда
$ flutter run
Таким образом я решил эту проблему в BlueStack..Выполните следующие действия для запуска приложений Android в эмуляторе BlueStack.
Go to setting of BlueStack Emulator
Then click on Advance and then
Turn on Android Debug Bridge (ADB)
Я столкнулся с той же проблемой на физическом устройстве, попробовал все решения, которые я мог там увидеть, но ни одно из них не сработало.
Что сработало в конце дня, так это убедиться, что версия API моего устройства также была установлена в студии Android.
Если у вас есть новый вопрос, задайте его, нажав кнопку Задать вопрос. Включите ссылку на этот вопрос, если это помогает обеспечить контекст. - Из обзора
Этот вопрос получает первый результат от Google, поэтому мой ответ касается немного другой ошибки.
Рассматриваемая ошибка имеет код [INSTALL_FAILED_INSUFFICIENT_STORAGE]. Мой ответ для любой Performing Streamed Install ошибки, которая специально не определяет [INSTALL_FAILED_INSUFFICIENT_STORAGE] код.
Проблема в том, что этот глобально установленный /usr/bin/adb переопределяет adb, который использует Flutter. Как вы знаете, в Ubuntu есть много устаревших пакетов (чтобы защитить стабильность своей системы). АБР — один из них. Итак, если вы попытаетесь сделать:
adb kill-server
adb start-server
Скорее всего, вы получите вывод, подобный приведенному ниже:
* daemon not running; starting now at tcp:5037
ADB server didn't ACK
Full server startup log: /tmp/adb.1000.log
Server had pid: 12668
--- adb starting (pid 12668) ---
adb I 03-26 03:19:35 12668 12668 main.cpp:57] Android Debug Bridge version 1.0.39
adb I 03-26 03:19:35 12668 12668 main.cpp:57] Version 1:8.1.0+r23-5ubuntu2
adb I 03-26 03:19:35 12668 12668 main.cpp:57] Installed as /usr/lib/android-sdk/platform-tools/adb
adb I 03-26 03:19:35 12668 12668 main.cpp:57]
adb I 03-26 03:19:35 12668 12668 adb_auth_host.cpp:416] adb_auth_init...
adb I 03-26 03:19:35 12668 12668 adb_auth_host.cpp:174] read_key_file '/home/erayerdin/.android/adbkey'...
adb I 03-26 03:19:35 12668 12668 adb_auth_host.cpp:391] adb_auth_inotify_init...
adb I 03-26 03:19:35 12668 12668 adb_auth_host.cpp:467] Calling send_auth_response
adb server killed by remote request
* failed to start daemon
error: cannot connect to daemon
В некоторых сеансах flutter run я получаю вывод, похожий на «версия сервера adb (независимо) не соответствует клиенту (независимо); убийство». Вот тогда я засомневался, может быть, я установил adb глобально. Проверь это:
which adb
# /usr/bin/adb
# This is a sign that this adb might be globally installed.
# This must be a symlink. Just to make sure, I do the following...
realpath /usr/bin/adb
# /usr/lib/android-sdk/platform-tools
# This is the evidence that it has been installed globally.
Итак, мы используем устаревшую версию adb, которая не соответствует серверу adb целевого устройства.
Итак, нам нужно сначала избавиться от этого глобального adb.
⚠ Warning
If you use
adbfrom terminal, what we are going to do will remove it. You can add your{SDK PATH}/platform-toolswhereSDK PATHis where you have installed SDK to get it back.
Просто сделайте:
sudo apt remove android-sdk android-sdk-common android-sdk-build-tools android-sdk-build-tools-common android-sdk-platform-tools android-sdk-platform-tools-common
Однако на самом деле это не удаляет adb из системы. По какой-то причине он все еще лежит там, поэтому для последнего шага мы делаем:
# simply backup our symlink
sudo mv /usr/bin/adb /usr/bin/adb.bak
# and backup global android-sdk tools
sudo mv /usr/lib/android-sdk /usr/lib/android-sdk.bak
После этих шагов вы можете перезапустить редактор и повторить попытку. Если вы хотите дважды убедиться, вы можете сделать (пока ваш редактор закрыт):
# clean the build artifacts
flutter clean
# reinstall the packages because we have cleared them
flutter pub get
flutter pub get packages
Хотя на моем эмуляторе не установлено никаких других приложений, когда я устанавливаю приложение флаттера, я получаю ту же ошибку.
Я обнаружил, что места для хранения эмулятора действительно недостаточно. Потому что, когда я создавал эмулятор, по умолчанию было всего 1024M. Когда я изменил объем памяти эмулятора на 4096M, проблема была решена. https://i.stack.imgur.com/C7BjJ.png
В настройках -> Отладчик -> под Java я изменил, чтобы немедленно убить процесс отладки. он начинает работать нормально.