Android studio не работает xml

Методы лечения различных ошибок в 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 и подходит).

Читайте также:  Android manifest file для чего

Найти все версии можно здесь.

б) Если в 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, синхронизируйте проект, а затем откомментируйте их и снова синхронизируйте. Для меня было достаточно повторной синхронизации этих трех с комментариями, а затем без комментариев, чтобы они снова начали появляться.

Читайте также:  Android viewpager dynamic height

И не беспокойтесь, если ваша сборка завершится неудачей после первого шага, это должно произойти, если у вас уже есть какие-либо из этих атрибутов в вашем проекте. Еще одно замечание: атрибуты, которые я ранее вставил (без автозаполнения перед повторной синхронизацией), по какой-то причине нужно было вводить заново.

Я попытался с опцией 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 определенные атрибуты.

Он используется только для предварительного просмотра.

Источник

Оцените статью