- Методы лечения различных ошибок в Android Studio при разработке проекта
- В чем ошибка? Почему не запускается приложение на Android studio?
- Как запустить эмулятор в Android Studio
- Инструкция по запуску
- Возможные ошибки и методы решения
- Синхронизация Android Gradle завершилась неудачно из-за целевой версии
- Класс действия <> не существует
- Ошибка com.google.android.gms / play-services / 8.4.0 / gradle: 2.0.0-alpha5
- Студийный модуль Android не может найти пакет
- Тип Diamond не поддерживается
- Android Studio — Robolectric: android.content.res.Resources $ NotFoundException: нет такой метки com.my.app:string/app_name
- Ошибка получения родительского элемента
- Как открыть существующий проект андроида (build.gradle) в андроид-студии
- Студия Android не открывается в Windows
Методы лечения различных ошибок в 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?
Подскажите, почему не запускается приложение? (есть ли тут вообще ошибка)
import android.annotation.SuppressLint
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.text.TextUtils
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
abstract class Main : AppCompatActivity(), View.OnClickListener <
internal lateinit var etNum1: EditText
internal lateinit var etNum2: EditText
internal lateinit var btnDiv: Button
internal abstract var tvResult: TextView
public override fun onCreate(savedInstanceState: Bundle?) <
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// находим элементы
this.etNum1 = this.findViewById(R.id.etNum1)
this.etNum2 = findViewById(R.id.etNum2)
// прописываем обработчик
btnDiv.setOnClickListener(this)
@SuppressLint(«SetTextI18n»)
override fun onClick(v: View) <
val num1: Number
val num2: Number
var result = 0f
// Проверяем поля на пустоту
if (TextUtils.isEmpty(etNum1.text.toString()) || TextUtils.isEmpty(etNum2.text.toString())) <
return
>
// читаем EditText и заполняем переменные числами
num1 = java.lang.Float.parseFloat(etNum1.text.toString())
num2 = java.lang.Float.parseFloat(etNum2.text.toString())
// определяем нажатую кнопку и выполняем соответствующую операцию
// в oper пишем операцию, потом будем использовать в выводе
when (v.id) <
result = 4 / 100 * num1 / num2
>
else -> <
>
>
Источник
Как запустить эмулятор в Android Studio
Android Studio – эмулятор Android для ПК, имитирующий работу данной ОС. Применяется как среда для разработки мобильных приложений. Использует AVD-конфигурацию, определяющую, что нужно эмулировать: форм-фактор, обычную ОС Андроид или части ОС и варианты настроек.
Подробнее о том, что такое Android Studio, вы можете прочитать в отдельной статье, перейдя по ссылке.
Инструкция по запуску
Рассмотрим, как запустить эмулятор Android Studio.
- Загружаем пакет отсюда — developer.android.com/studio?hl=ru.
- Устанавливаем скачанное приложение. Важно! При загрузке выберите места для двух частей: студии и SDK (можно установить в разные папки). Для SDK нужно, чтобы на диске было свободно 6 – 8 Гб (3,2 Гб для установки и еще запас в 3-5 Гб на будущие обновления).
- Ждем окончания загрузки SDK и установки.
- Запускаем Android Studio.
- Создаем новый проект («Start a new project»).
- Заполняем поля: имя, домен, расположение на диске. Выбираем версию SDK.
- Кликаем «Finish» и ждем, пока AS будет создавать проект (1-5 минут).
- Жмем вверху «AVD Manager», затем внизу слева кнопку «Create Virtual Device».
- Кликаем «Next», «Finish».
- Жмем «Shift + F10».
- Выбираем, на каком устройстве запускать готовое приложение.
- Настройка завершена — эмулятор готов к работе.
Возможные ошибки и методы решения
Бывает, что приложение не хочет запускаться, или на каком-то этапе создания выдаются ошибки.
Рассмотрим, почему Android Studio эмулятор не запускается, и перечислим методы решения проблем.
Синхронизация Android Gradle завершилась неудачно из-за целевой версии
Необходимо проверить, установлен ли API 23. Если нет — установить через Менеджер SDK.
Класс действия <> не существует
- Перейти в настройки модуля, затем «Flavors», «Идентификатор приложения» и добавить название пакета.
- Установить название класса с полным путем (например: .com.example.Splash вместо .Splash).
- Перезапустить IDE.
- Перейти по пути: «Настройки» — «Приложения». Выбрать приложение, открыть меню переполнения (верхний угол справа) и нажать «Удалить всех пользователей». Загрузить приложение заново.
- Перезапустить демон ADB (ввести в терминале «adb kill-server», ниже — «adb start-server»).
- Очистить проект («Сборка» — «Чистый проект»).
Ошибка com.google.android.gms / play-services / 8.4.0 / gradle: 2.0.0-alpha5
Чтобы исправить ошибку, обновите «project/grandle.build» и дистрибутив «Grandle».
Студийный модуль Android не может найти пакет
- Импортировать проект библиотеки по пути «File» – «New» – «Import Module». Затем посмотреть, есть ли внутри папки проекта файл «build.gradle».
- Проверить, одинаковая ли версия плагина для Андроид (в Структуре проекта в разделе «Пакет») и у подключаемых модулей. Если различаются — сделать одинаковыми.
- Зайти в Структуру проекта, выбрать проект слева, изменить версию плагина на «Gradle». Если синхронизация выдает ошибку, то перейти к Структуре проекта, выбрать версию плагина «Project.undo».
Тип Diamond не поддерживается
- Перейти в «Файл» — «Структура проекта» — «Свойства». Прописать для Source Compability == 1.7, для Target Compability == 1.7.
- Проверить версию JDK. Оператор Diamond появляется у JDK 7.
- Обновить BuildToolsVersion и SDK.
- В уровне языка (в настройках проекта, в разделе «Проект») выбрать вариант «Diamonds, ARM, Multi-catch etc».
Android Studio — Robolectric: android.content.res.Resources $ NotFoundException: нет такой метки com.my.app:string/app_name
Пути устранения ошибки.
- Посмотреть, совпадает ли имя пакета с именем приложения. Если не совпадает — исправить.
- Проверить, созданы ли и правильно ли названы каталоги, переданные приложению.
Ошибка получения родительского элемента
Чтобы исправить, проверьте, одинаковы ли версия SDK для компиляции и библиотеки поддержки. Если отличаются — исправить.
Источник
Как открыть существующий проект андроида (build.gradle) в андроид-студии
Я новичок в Android Studio меня есть существующий проект Android, который был создан из студии android. Теперь мне нужно open этот проект из файла build.grade (файла этого проекта). Я выполнил этот шаг File -> Open -> build.gradle (из этого существующего проекта)
Но он показывает окно обработки, как показано ниже, так как долгое время не отвечает хорошо.
Поэтому у любого есть идея об этом, пожалуйста, помогите мне.
Во-первых, нам нужен ваш build.gradle
Во-вторых, я могу догадываться о том, что вы опубликовали до сих пор.
- Проверьте свой build.gradle на неиспользуемые или отсутствующие проекты в каталоге проекта, проверив область зависимостей
Как я могу понять из « списков ошибок» com.android.support:support-v4, используя класс org.gradle.api.internal.artifacts.repositories.resolver.MavenVersionLister $ 1. попытается альтернативный способ перечислить версии. Устарел и должен быть удален в gradle 2.0 «this.It может быть связан с репозиториями.
Проверьте, есть ли у вас это или нет в области зависимостей. Если там что-то написано, удалите его и добавьте правильный, который я написал ниже.
- И моя другая догадка заключается в том, что в реализации поддержки v4-библиотеки есть что-то не так
Проверьте, есть ли у вас
Это или нет. Если нет, добавьте строку, начинающуюся с компиляции, которую я написал выше. И если у вас есть что-то вроде,
Источник
Студия Android не открывается в Windows
Я только что загрузил и установил Android Studio. По какой-то причине он не откроется. Я пытался запустить его как администратор, но это тоже не работает. Я также попытался удалить и переустановить, но у меня все еще такая же проблема.
Догадаться! Я уверен, что кто-то столкнется с этим в будущем, так и здесь.
Несмотря на то, что он нашел мой JDK во время установки, он не смог найти его, когда я пытался его открыть, по какой-то причине. Простое исправление. Добавьте JDK_HOME среды JDK_HOME в системные переменные. Он должен содержать путь к вашему каталогу ROOT JDK. Т.е. c:\Program Files\Java\jdk1.7.0_21\
Эта ссылка http://tools.android.com/knownissues содержит еще одну причину сбоя в работе пусковой установки. Я цитирую ссылку здесь:
«В некоторых системах сценарий запуска не находит, где установлена Java. Обходным решением является установка переменной, указывающей местоположение Java [b / 55281]:
- Откройте меню «Пуск»> «Компьютер»> «Свойства системы»> «Дополнительные свойства системы». На вкладке «Дополнительно»> «Переменные среды» добавьте новую системную переменную JAVA_HOME, которая указывает на вашу папку JDK, например C: \ Program Files \ Java \ jdk1.7.0_21.
- Другая проблема, которую мы обнаружили, заключается в том, что сценарий Launcher использует опцию, неизвестную Java на какой-либо системе [b / 55267]. Откройте папку установки Android Studio (например, C: \ Program Files \ Android \ android-studio или C: \ Пользователи \\ AppData \ Local \ Android \ android-studio) и найдите там каталог «bin».
Откройте «cmd.exe» (командную строку), cd в папку android-studio \ bin и запустите «studio.bat». Вероятно, вы увидите ошибку: например, b / 55267 о опции -XX: + UseCodeCacheFlushing не распознается. Сообщите об ошибке, удалите строку из studio.exe.vmoptions или studio64.exe.vmoptions, и теперь она должна работать.
Извиняюсь за эту слабую пусковую установку ».
(I) Откройте папку, в которой установлена Android-студия. (C: \ Program Files (x86) \ Android \ android-studio)
(Ii) – Щелкните правой кнопкой мыши папку android-studio и перейдите к свойствам.
(Iii) В окне «Свойства» нажмите «Безопасность».
(Iv) Нажмите кнопку «Изменить»
(V) Выберите User / Admin … или другие
(Vi) Установите флажок «Разрешить» перед «Полный контроль»
(Vii) Применить или нажать ОК.
…. На этом этапе вам нужно подождать, пока он будет установлен. Наслаждайтесь .
И я использую Window 8 … . То же самое относится и к Window 7 … интересно, почему безопасность на нем …
Просто добавьте переменную JDK_HOME, указав путь JDK как значение, и снова запустите IDE. Это единственное, что нужно сделать, надеюсь, что это закроет другие вопросы.
Я на 64-битной машине Windows 8.
У меня уже установлен JDK, а папка jdk.1.7.0 присутствует в C: \ Program Files \ Java. Но путь для этой папки не работает. На вашем компьютере должна быть папка jdk.1.7.xxx и указать эту папку как JDK_HOME в переменной среды.
Вы можете взять последнюю версию JDK отсюда
Обязательно выберите версию Windows x64. Установите JDK, а затем укажите свой путь. Для тех, кто не уверен, как установить путь в Windows 8, у меня есть следующие скриншоты.
Перейдите в нижний правый угол. Нажмите «Настройки». Нажмите «Информация о ПК».
Нажмите ссылку «Расширенная настройка системы» на левой стороне.
Нажмите кнопку «Переменные среды». Winodw откроется с 2 списками. Нажмите кнопку «Создать» под списком «Системные переменные». Появится новое окно. Укажите имя как JDK_HOME и путь как ваш путь, например «C: \ Program Files \ Java \ jdk1.7.0_55». Не нужно брать папку bin в путь.
Пользователь Windows 7: Я пробовал все вышеперечисленные идеи (добавляя переменные среды JDK_HOME, JAVA_HOME), но окончательный трюк должен был запускаться как admin.
Если это не удается, попробуйте «где java» в cmd.exe. Если он сначала перечислит c: \ system32 \ java.exe , переименуйте файл.
Ни одно из вышеупомянутых решений не работало для меня. И нет файла studio.bat в каталоге bin. Итак, я загрузил 32-битную андроид-студию для своей системы (как 32-битной) отсюда (официальный сайт), и это сработало!
PS: Ссылка может быть нарушена в будущем, просто Google для 32-битной студии Android.
(После того, как он потерял полдня, наконец, я начал работать)
Я запускаю его на Windows 8.1 . Кроме того, у меня был JDK 1.7.0_13.
Я попробовал следующее:
- Откройте меню «Пуск»> «Компьютер»> «Свойства системы»> «Дополнительные свойства системы». На вкладке «Дополнительно»> «Переменные среды»
- Добавьте новую системную переменную JAVA_HOME, которая указывает на папку JDK, C: \ Program Files \ Java \ jdk1.7.0_13 \
- Чтобы быть на более безопасной стороне, также добавьте новую системную переменную JDK_HOME, которая указывает на папку JDK, например C: \ Program Files \ Java \ jdk1.7.0_13 \
- Добавить новую PATH в системную переменную, указывающую на папку JDK, C: \ Program Files \ Java \ jdk1.7.0_13 \
Но все-таки это не сработало. Тогда мне показалось, что моя версия Java устарела. Я загрузил последнюю версию отсюда .
Я удалил JDK 1.7.0_13 и установил версию 8, т.е. JDK 1.8.0_131.
Теперь сделайте все вышеперечисленные шаги, но замените путь на C: \ Program Files \ Java \ jdk1.8.0_131 \ ИЛИ в зависимости от вашей последней версии.
Успех !! Теперь это работает.
Источник