- Методы лечения различных ошибок в Android Studio при разработке проекта
- Android Studio — автозаполнение XML Editor не работает с библиотеками поддержки
- 15 ответов
- Android Studio-XML Editor автозаполнение не работает с библиотеками поддержки
- 8 ответов
- Android Studio – автозаполнение XML-редактора не работает с библиотеками поддержки
- Почему элементы XML не отображаются на моем эмуляторе в Android Studio?
- 5 ответов
Методы лечения различных ошибок в Android Studio при разработке проекта
Сегодня хотел бы поделиться своим анализом и способами лечением разных ошибок при разработке своего продукта в 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 и ребилдим проект.
4) В сообщении об ошибке упоминается heap — виртуальная память. А ошибка обычно вызвана ее нехваткой, т.е. невозможностью получить запрашиваемый объем. Поэтому этот запрашиваемый объем надо уменьшить, т.е. переписать дефолтное значение (обычно 2048 MB которое можно изменить в настройках), на меньшее 1024 MB.
В файле проекта 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-версия плагина — это означает, что срок ее истек. Посмотреть последние релизы (продакшн и бета) можно также здесь:
6) Иногда при подключении сторонних библиотек могут дублироваться некоторые файлы (обычно связанные с лицензированием). В сообщении будет что-то содержащее слова: duplicate files. Решение — надо посмотреть в сообщении об ошибке или в документации подключенной сторонней библиотеки — какие именно файлы стали избыточными, и перечислить их в build.gradle модуля для исключения (exclude) из билда.
Это делается в директиве packagingOptions (которая, в свою очередь, находится в директиве android).
Источник
Android Studio — автозаполнение XML Editor не работает с библиотеками поддержки
Я только начал использовать новую библиотеку android.support.design. При использовании любого из виджетов внутри XML-редактора я перестаю получать предложения автозаполнения XML!
Ни один из тегов не покажет всплывающее окно автозаполнения, например, когда я начинаю вводить «андроид: i» всплывающее окно не появляется, единственное предложение, которое я получаю, показано на следующем рисунке.
Я пробовал очистить свой проект, перезагрузить компьютер, перезапустить Android Studio.. ничего не работает!
15 ответов
Я пробовал много вещей (перезапустить Android Studio, ПК, Invalidate Caches, режим энергосбережения. ).
Наконец, удаление папки .idea и всех файлов .iml из проекта, перезапуск Android Studio и перестройка gradle сделали свое дело. Автозаполнение в библиотеке поддержки XML снова работает.
Извлечение файлов из системы контроля версий или копирование всех исходных файлов в новом проекте также поможет.
Я получил свои предложения автозаполнения, отказав в кэше и перезапустив их.
Файл → Недействительный кеш/перезапуск. → Выберите Invalidate и Restart
Если ни NONE из вышеуказанных ответов не сработал.
Просто перейдите в каталог установки вашей Android Studio, т.е.
и DELETE THE CACHE FOLDER (сначала закройте андроид-студию, если она запущена).
Затем снова запустите Android Studio. Готово.
PS Я использую Android Studio 3.3
Эта же проблема появилась в версии 3.2. , Решение для этого
Я попал в ситуацию, когда был поврежден только тег EditText . Я удалил папку .idea и все .iml, сделал недействительным кеш и перезапустил. Что на самом деле работало, так это стереть тег и снова ввести его. Действительно странно.
Если у вас возникла эта проблема в ноябре 2018 года с Android Studio 3.2.1, попробуйте понизить ее до 3.1.4.
С 3.2.1 я пробовал каждый из этих ответов и не работал, но после того, как я опустился до 3.1.4 и сделал Invalidate Caches/Restart, он работал нормально.
В моем случае «Завершение кода» не появлялись предложения, поскольку в моем модуле приложения отсутствовала зависимость Gradle.
Я использовал android.support.design.widget.TabLayout в своем XML-макете, но я не добавил в библиотеку конструкторскую библиотеку compile ‘com.android.support:design:25.3.1’ Gradle зависимость.
Удаление библиотеки/Поддержка приложений /AndroidStudio * и Invalidate Cache после этого помогли мне. Все остальные варианты не работают.
Удалите полную папку ‘android studio и затем перезапустите ее. Решать проблему
.AndroidStudio3.3 может отличаться в вашем случае
Несколько лет спустя, но я хотел представить ответ на этот вопрос, который я понял и работал для меня. Это было очень быстро и не требовало много перенастройки, как некоторые другие ответы здесь, поэтому я подумал, что добавлю это.
Решение
Прокомментируйте зависимости gradle для атрибутов xml, синхронизируйте проект, а затем откомментируйте их и снова синхронизируйте. Для меня было достаточно повторной синхронизации этих трех с комментариями, а затем без комментариев, чтобы они снова начали появляться.
И не беспокойтесь, если ваша сборка завершится неудачей после первого шага, это должно произойти, если у вас уже есть какие-либо из этих атрибутов в вашем проекте. Еще одно замечание: атрибуты, которые я ранее вставил (без автозаполнения перед повторной синхронизацией), по какой-то причине нужно было вводить заново.
Я попытался с опцией Invalid caches/restart, но у меня это не сработало. Для версий Android Studio 3> сначала проверьте следующее:
Установите эти 3 на последнюю версию, а затем попробуйте синхронизировать проект и очистить ReBuild один раз. Он будет работать и покажет опции автозаполнения редактора XML.
Файл → Недействительные кеши/перезапуск. → Выбрать недействительные и перезапустить
и поворот режима энергосбережения это работает
Я тоже попал в ситуацию, когда был поврежден только тег EditText. Решение было найдено в разделе «Настройка» > «Редактор» > «Общие» > «Автопорт», где «Редактировать текст» был указан как исключенный из автоматического завершения. Удалите это, выбрав и выберите знак «Минус».
Источник
Android Studio-XML Editor автозаполнение не работает с библиотеками поддержки
Я только начал использовать новый android.поддержка.библиотека дизайна. При использовании любого из виджетов в Редакторе XML я перестаю получать предложения по автозаполнению XML!
ни один из тегов не покажет всплывающее окно автозаполнения, например, когда я начинаю вводить «android: i», всплывающее окно не появляется, единственное предложение, которое я получаю, показано на следующем рисунке.
Я попытался очистить свой проект, перезагрузив компьютер, перезапуск Android Studio.. ничего не работает!
8 ответов
для меня ответ от @user4989692 не работает. Я пробовал много вещей (перезапустить Android Studio, ПК, аннулировать кэши, режим энергосбережения. ).
удаление .идея!-Папка -2—> и .iml файлы из проекта, перезапуск Android Studio и восстановление gradle сделали трюк. Автозаполнение в библиотеке поддержки XML снова работает.
вероятно, проверка файлов из контроля версий или копирование всех исходные файлы в новом проекте также сделали бы трюк.
Я получил свои предложения по автозаполнению, аннулировав кэши и перезапустив.
File — > Invalidate Кэши / Перезапуск. — >Выберите Invalidate и перезапустите
Я попал в ситуацию, когда только EditText тег был сломан. Я удалил .идея!-Папка -3—> и .iml, аннулировал кэш и перезапустил. Что действительно сработало, так это стереть тег и ввести его снова. Действительно Странно.
удаление библиотеки / поддержки приложений / папки AndroidStudio* и аннулирование кэша после этого помогли мне. Все остальные варианты не сработали.
решена путем удаления ‘.androidStudioPreview1.X’ в моей домашней папке.
Я тоже попал в ситуацию, когда был сломан только тег EditText. Решение было найдено в разделе Настройка > редактор >общие > автоматический импорт, где текст редактирования был исключен из автоматического завершения. Удалите это, выбрав и нажмите знак минус.
в моем случае Автозавершение Кода предложения не появлялись, потому что зависимость Gradle отсутствовала в модуле моего приложения.
Я был с помощью android.support.design.widget.TabLayout в моем XML-макете, но я не добавил библиотеку поддержки дизайна compile ‘com.android.support:design:25.3.1’ зависимость Gradle в моем модуле приложения.
File — > Invalidate Кэши / Перезапуск. — >Выберите Invalidate и перезапустите
и поворот режима энергосбережения он работает
Источник
Android Studio – автозаполнение XML-редактора не работает с библиотеками поддержки
Я только начал использовать новую библиотеку android.support.design. При использовании любого из виджетов внутри XML-редактора я перестаю получать предложения автозаполнения XML!
Ни один из тегов не покажет всплывающее окно автозаполнения, например, когда я начинаю вводить «андроид: i» всплывающее окно, единственное предложение, которое я получаю, показано на следующем рисунке.
Я пробовал очистить свой проект, перезагрузить компьютер, перезапустить Android Studio .. ничего не работает!
Для меня ответ от пользователя @ user4989692 не работал. Я пробовал много вещей (перезапустите Android Studio, ПК, Invalidate Caches, режим энергосбережения, …).
Наконец, удалили папку .idea и все .iml- файлы из проекта, перезапустив Android Studio и перестроив град. Автозаполнение в библиотеке поддержки XML снова работает.
Вероятно, проверка файлов с помощью Version Control или копирование всех исходных файлов в новом проекте также сделают трюк.
Я получил свои предложения автозаполнения, отказав в кэшировании и перезапуском.
File -> Invalidate Caches / Restart … -> Выберите Invalidate и Restart
Я попал в ситуацию, когда был поврежден только тег EditText . Я удалил папку .idea и все .iml , сделал недействительным кеш и перезапустил … Что на самом деле работало, так это стереть тег и снова ввести его. Действительно странно.
Решено, удалив ‘.androidStudioPreview1.X’ в моей домашней папке.
Я тоже попал в ситуацию, когда был поврежден только тег EditText. Решение было найдено в разделе «Настройка»> «Редактор»> «Общие»> «Автопорт», где «Редактировать текст» был указан как исключенный из автоматического завершения. Удалите это путем выбора и нажмите знак «Минус».
После этого мне удалось удалить папку «Библиотека / приложение» / AndroidStudio * и «Invalidate Cache». Все остальные варианты не работали.
В моем случае предложения Code Completion не появлялись, потому что в модуле моего приложения отсутствовала зависимость Gradle.
Источник
Почему элементы XML не отображаются на моем эмуляторе в Android Studio?
Моя проблема в том, что размещенные мной элементы управления (флажки, кнопки и т. Д.) Не видны в моем эмуляторе. Ниже мой XML-файл:
Вот мой XML (представление дизайна):
Вот мое окно эмулятора:
Что-то не так в моем XML-файле?
Пожалуйста, предоставьте мне решение для этого. Как мне справиться с этим?
5 ответов
Вы используете ConstraintLayout без относительного позиционирования .
По словам разработчика сайта:
Относительное позиционирование является одним из основных строительных блоков для создания макетов в ConstraintLayout . Эти ограничения позволяют вам позиционировать данный виджет относительно другого. Вы можете ограничить виджет по горизонтальной и вертикальной оси:
Горизонтальная ось: слева, справа, начальная и конечная стороны
Вертикальная ось: верхняя, нижняя стороны и базовая линия текста
Вот решение, которое может помочь вам:
Я использовал относительное расположение для решения проблемы. Если вы используете макет ограничения, то без относительного позиционирования ваши представления будут перекрываться друг с другом.
Потому что вы не правильно выровняли вторую кнопку. похоже, что вторая кнопка перекрывает первую.
попробуйте этот
вывод будет таким
В вашем коде ваши элементы переполняют друг друга в одной позиции, поэтому они не видны.
Мое предложение не ограничивать Layout на начальном этапе обучения Android. Используйте Linear Layout вместо Layout Layout ограничения.
Так как в ограничении Layout Layout Editor использует ограничения для определения положения элемента пользовательского интерфейса в макете. Вы должны дать много ограничений XML атрибутов, таких как.
Указать расположение элементов в макете.
Используйте Linear Layout вместо Constraint Layout и дайте
Просмотреть все ваши элементы.
Просто используйте LinearLayout вместо ConstraintLayout . Также укажите вертикальную ориентацию LinearLayout . Это поможет вам
Атрибуты layout_editor используются только для editor preview и не влияют на окончательные макеты. Вы должны расположить свои элементы, используя ConstraintLayout определенные атрибуты.
Он используется только для предварительного просмотра.
Источник