Android studio не запускается приложение на телефоне
Целью данной главы является написание минимального приложение под Android. Но мы никогда не будем точно знать, смогли ли мы написать нечто работоспособное, не попробовав запустить его на реальном устройстве. Этим мы и займёмся в этой статье.
Возможность тестирования на смартфоне предоставляется ADB (Android Debug Bridge). В этой статье мы настроим его и запустим наше приложение на настоящем смартфоне.
Что такое ADB
Android Debug Bridge (ADB) является универсальным инструментом командной строки, который способствует взаимодействию между средой разработки, в нашем случае Android Studio, и AVD-эмуляторами или физическими Android-устройствами для возможности запуска и отладки приложений.
ADB состоит из клиента, из сервера, который работает в качестве фонового процесса, на компьютере разработчика и из демона, который работает в качестве фонового процесса на каждом экземпляре эмулятора или реального устройства.
Настройка Android-устройства для работы с ADB
Для того, чтобы использовать ADB с устройством, подключенным по USB, необходимо разрешить USB-отладку в системных настройках телефона или планшета в разделе "Параметры разработчика" (название может отличаться). На некоторых устройствах этот раздел по умолчанию скрыт. Рассмотрим шаги в случае, когда нет нужного раздела настроек.
- Зайдите в настройки, раздел "Об устройстве"
- Найдите пункт "Номер сборки" и щёлкните по нему 7 раз. Должно появиться окно, оповещающее о том, что активирован режим разработчика. Теперь в настройках должен появиться раздел параметров разработчика.
- Включите в нём опцию "Отладка USB".
Теперь, когда вы подключаете устройство к компьютеру, в зависимости от модели у вас может появиться новый вариант подключения.
Настройка ADB на Windows
При настройке Windows, во-первых, убедитесь, что у вас установлен Google USB Driver. Зайдите в SDK Manager в раздел Extras и найдите Google USB Driver, установите его в случае необходимости.
Теперь следует обновить драйвер. Подключите девайс к компьютеру, перейдите в Панель управления -> Оборудование и звук -> Диспетчер устройств найдите своё устройство. Щёлкните правой клавишей по своему устройству, чтобы открыть контекстное меню и выберите "Обновить драйверы. ". Драйвер можно найти в директории sdk в подпапке \\extras\google\usb_driver.
Как проверить правильность настроек ADB?
Для проверки работоспособности ADB подключите устройство к компьютеру, запустите в папке \\platform-tools командную строку и введите в ней команду:
Должен появится список наподобие этого:
Запуск приложения на реальном устройстве
Всё тоже самое, что и в случае запуска на эмуляторе. Откройте в Android Studio наш проект, нажмите на зелёный треугольник, но в появившемся окне выбора устройства выберите ваш девайс.
Если написано, что девайс offline, перевоткните USB и разрешите USB-отладку компьютеру:
В результате на экране телефона или планшета покажется наше приложение.
Заключение
На этом заканчивается глава. Мы добились успеха: смогли настроить нашу систему под разработку Android-приложений и даже запустить одно из них на настоящем устройстве.
Если у вас что-то активно не получается или вы запутались, отпишитесь, пожалуйста, в комментариях и я помогу вам разобраться с вашей проблемой.
Сегодня хотел бы поделиться своим анализом и способами лечением разных ошибок при разработке своего продукта в Android Studio. Лично я, не раз сталкивался с различными проблемами и ошибками при компиляции и/или тестировании мобильного приложения. Данный процесс, всегда однообразный и в 99% случаев и всегда нужно тратить n-колличество времени на его устранение. Даже, когда ты уже сталкивался с данной проблемой, ты все равно идешь в поисковик и вспоминаешь, как же решить ту или иную ситуацию.
Я для себя завел файлик, в котором отметил самые частые ошибки — потратив на это несколько часов и перечислил самые популярные ошибки (в дальнейшем планирую просто их запомнить), чтоб сократить свое время в дальнейшем.
Итак, начну по порядку с самой распространенной проблемы и дальше буду перечислять их по мере появления:
1) Если подчеркивает красным код, где используются ресурсы: R. — попробовать (но вероятно не поможет): Build -> Clean Project.
В принципе на Build -> Clean Project можно не терять времени, а лучше всего — слева переключиться на Project, открыть каталог .idea, затем каталог libraries и из него удалить все содержимое. Затем нажать кнопку Sync Project. А затем (если все еще красное, но скорее всего уже будет все ок ) Build -> Clean Project.
2) После внезапного выключения компьютера, после перезапуска может быть во всех проектах весь код красным. Перед этим может быть ошибка: Unable to create Debug Bridge: Unable to start adb server: Unable to obtain result of 'adb version'. Есть три решения — первое помогло, второе нет (но может быть для другого случая), а третье — не пробовал:
а) File — Invalidate Caches/Restart — Invalidate and Restart
б) Закрыть студию. В корне папки проекта удалить файл(ы) .iml и папку .idea. Вновь запустить студию и импортировать проект.
в) Нажать Ctrl-Alt-O и запустить оптимизацию импорта.
Кстати, adb сервер можно проверить на версию (и работоспособность) и затем перезапустить:
3) Если Android Studio выдает приблизительно такую ошибку: Error:Execution failed for task ':app:dexDebug'.
Надо слева переключиться на опцию Project, найти и удалить папку build которая лежит в папке app, т.е. по пути app/build. Затем перестроить весь проект заново: Build -> Rebuild Project.
Такое же решение если ошибка типа: «не могу удалить (создать) папку или файл» и указан путь, который в ведет в app/build. Тоже удаляем папку build и ребилдим проект.
В файле проекта gradle.properties пишем:
5) Android Studio пришет примерно такую ошибку: Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to «83648b99316049d63656d7276cb19cc7e95d70a5»
Возможные причины (кроме необходимости регулярного обновления SDK):
а) Загруженный проект был скомпилирован с помощью уже несовместимого старого gradle плагина. В этом случае надо найти и подключить в своем build.gradle проекта этот более старый плагин. т.е. попробовать более старые версии, например: 1.1.3 (часто именно 1.1.x и подходит).
Найти все версии можно здесь.
б) Если в build.gradle проекта используется beta-версия плагина — это означает, что срок ее истек. Посмотреть последние релизы (продакшн и бета) можно также здесь:
Это делается в директиве packagingOptions (которая, в свою очередь, находится в директиве android).
Я пытаюсь запустить приложение Flutter на своем телефоне, подключенном через USB, для отладки.
Он перестал работать с одного дня (13 мая, если это важно) до следующего. Довольно неприятно, что я не внес никаких изменений с момента последней работы. С тех пор, как я в последний раз нажал кнопку «Играть» в Android Studio 13 мая, были внесены только изменения кода, и все они работали нормально благодаря горячей перезагрузке. Затем на следующий день при нажатии кнопки воспроизведения он внезапно жалуется, что JAVA_HOME не установлен.
Новые строки вставлены для удобства чтения. Кроме того, последние изменения кода никоим образом не касаются использования камеры.
Нет проблем при сборке для Chrome вместо Android.
Версия Android Studio
Поскольку я не менял конфигурацию вручную, мое первое подозрение было в том, что что-то должно измениться автоматически. У меня установлена Android Studio с помощью набора инструментов JetBrains, который настроен на автоматическое обновление моих IDE, когда доступно (стабильное) обновление. Последнее обновление (4.2.1) действительно было выпущено в этом месяце, однако откат к предыдущей версии 4.2.0 не устранил проблему.
Ранее существовавшая Java
Ну . JAVA_HOME установился. Примечательно, что он был настроен на встроенную в Android-Studio версию более старой, не установленной JetBrains-Toolbox Android Studio. Еще более примечательно то, что он был установлен на
C:\Program Files\Android\Android Studio\jre , в то время как фактическая установка находилась под
C:\Program Files\Android\android-studio . Нижний регистр, вероятно, не имеет значения для WIN10, но дефис имеет значение . это никогда не должно было работать.
Создание копии папки в C:\Program Files\Android\Android Studio не решило проблему. Доктор флаттера сказал, что он может найти Java, но не может ее выполнить. Кнопка воспроизведения в Android Studio вызвала еще одну ошибку, но я не знаю, какая именно, и я больше не могу ее воспроизвести, так как к настоящему времени я избавился от этих старых папок. Что ж, в любом случае это был грязный прием.
Запуск echo %JAVA_HOME% в Windows CMD напечатал путь, в то время как терминал в Android Studio просто напечатал %JAVA_HOME% , что добавило всего веселья. В тот момент я решил, что это слишком запутано, и я начну с самого начала.
Новая Java
Поэтому я удалил Android Studio, удалил все установки Java, которые можно было найти, и удалил JAVA_HOME из среды.
- После перезагрузки снова загрузил Android Studio => не повезло.
- В Android Studio я перешел на File => Project Structure. , что привело к другому экрану, отличному от того, к которому он теперь всегда приводит меня, где я мог выбрать SDK для использования, а также отредактировать список SDK на выбор (JDKs и Android SDK). Выбрал там вариант "скачать JDK" => не повезло
- На этом же экране добавлен OpenJDK jdk-16.0.1 , загруженный вручную в C:\tools\ => не повезло
- Снова добавляем JAVA_HOME, устанавливаем на C:\tools\jdk-16.0.1 => Терминал Android Studio теперь наконец распечатывает это для echo %JAVA_HOME% , но создание проекта все равно не повезло
- В настоящее время File => Project Structure. приводит меня к окну, в котором я могу отдельно выбрать местоположение Android SDK (установлено на C:\AndroidSDK\Android-sdk ), Android NDK (ничего не выбрано) и JDK. Для последнего варианта я попробовал встроенный JDK, а также JAVA_HOME (все еще jdk-16.0.1 в C:\tools\ ) => не повезло, оба выдают ошибку IllegalAccessError, о которой я упоминал ранее.
Что, черт возьми, происходит?
Почему он перестает работать изо дня в день без изменений?
И что он хочет от меня, чтобы я снова начал работать?
Обновление 1
Спасибо, Милан Чаухан! После удаления папки .idea и android\.gradle , а затем выполнения File -> Invalid cache и перезапуска сборка выдает еще одну ошибку:
Подготовка к запуску
Как вы запускаете ваше приложение зависит от двух вещей: есть ли у вас реальное Android устройство и используете ли вы Android Studio или Eclipse. Этот урок покажет вам, как установить и запустить свое приложение на реальном устройстве и на Android эмуляторе, и в обоих случаях с помощью Eclipse или инструментов командной строки.
Перед запуском вашего приложения, вы должны быть осведомлены о нескольких каталогах и файлах в Android проекте:
AndroidManifest.xml файл манифеста описывает основные характеристики приложения и определяет каждый из его компонентов. Вы узнаете о различных объявлениях в этом файле по мере изучения учебных курсов.Одним из наиболее важных элементов, который ваш манифеста должен включать является <uses-sdk> элемент. Он заявляет о совместимости вашего приложения с различными версиями Android, используя android:minSdkVersion и android:targetSdkVersion атрибуты. Для вашего первого приложения, оно должно выглядеть следующим образом:
Вы всегда должны устанавливать android:targetSdkVersion как можно более высоким и протестировать приложение на соответствующей версии платформы. Для получения дополнительной информации, читайте Поддержка различных версий платформы. src/ Каталог для основных исходных файлов вашего приложения. По умолчанию, он включает в себя Activity класс, который запускается, когда ваше приложение запускается с помощью значка приложения. res/ Содержит несколько вложенных каталогов, в которых размещаются ресурсы приложения. Вот только некоторые из них: drawable-hdpi/ Каталог для рисуемых объектов (например, растровых изображений), которые предназначены для высокой плотности (hdpi) экранов. Другие drawable каталоги содержат наборы, предназначенные для других плотностей экрана. layout/ Каталог для файлов, которые определяют пользовательский интерфейс вашего приложения. values/ Каталог для других различных XML-файлов, которые содержат коллекцию ресурсов, таких как строки и цветовые определения.
Как запустить android-приложение на реальном устройстве
Если у вас есть реальное Android устройство, вот как вы можете установить и запустить приложение:
- Подключите ваш смартфон к компьютеру с помощью кабеля USB. Если вы разрабатываете на Windows, вам может потребоваться установить соответствующий драйвер USB для вашего устройства. Для получения справки по установке драйверов см. Драйвера OEM USB.
- Включите Отладка через USB на вашем устройстве.
- На большинстве устройств под управлением Android 3.2 или старше, вы можете найти опцию вНастройки > Приложения > Разработка.
- На Android 4.0 и новее, это находится в Настройки > Для разработчиков.
Примечание: На Android 4.2 и новее, Для разработчиков по умолчанию скрыт. Чтобы сделать его доступным, перейдите к Настройки > О телефоне и нажмите Номер сборки семь раз. Вернитесь к предыдущему экрану, чтобы найти Для разработчиков.
Как запустить android-приложение из Android Studio:
Откройте один из файлов вашего проекта и нажмите Run app на панели инструментов. Или нажмите комбинацию клавиш Shift+F10.
Откроется окно выбора подключенного реального устройства или эмулятора. Android Studio устанавливает приложение на выбранное устройство и запускает его.
Как запустить android-приложение из Eclipse
- Откройте один из файлов вашего проекта и нажмите Запуститьна панели инструментов.
- В окне Запуск от имени , которое появляется, выберите Android Application и нажмите OK.
Eclipse устанавливает приложение на подключенное устройство и запускает его.
Читайте также: