Перевод статьи [1], посвященный решению многих проблем, возникающих у программистов Android. Все непонятные термины и сокращения ищите в Словарике Android [3].
[Очистка проекта (Clean Project)]
У некоторых пользователей возникают ошибки следующего характера:
1. В проекте отсутствует требуемая папка исходного кода gen. 2. Проект не собирается (Build завершается с ошибками), пока не исправлены ошибки путей при сборке. 3. Нельзя открыть файл класса R.java.
Как ни странно, но эти проблемы и многие другие часто решаются, если сделать простую операцию очистки. Перед очисткой сохраните все редактируемые файлы (меню File -> Save All). Затем щелкните в Eclipse мышью на имени проекта, и выберите в меню Project -> Clean... При сборке (Project -> Build All) следите за тем, чтобы в Project Explorer была выбрана корневая папка компилируемого проекта.
Если у Вас имеются проекты библиотек, то убедитесь, что они также очищены.
[android.content.ActivityNotFoundException]
В обмене данными с эмулятором или устройством Android могут наблюдаться проблемы. Обмен данными обслуживается с помощью Android Debug Bridge (adb, см. [2]). Eclipse позволяет Вам сбросить adb в случае, если он вызывает проблемы. Для этого откройте перспективу DDMS через меню Window -> Open Perspective -> Other... -> DDMS. Чтобы перезапустить adb, выберите "Reset adb" в окне просмотра Device View.
[LogCat]
Окно отладочных сообщений LogCat показывает Вам сообщения, которые генерирует устройство Android. Этот лог Вы также можете использовать в свой программе с помощью различных классов и библиотек. Например, исключения Java в программе будут отображены в логе LogCat. Чтобы открыть просмотр LogCat, выберите в меню Window -> Show View -> Other... -> Android -> LogCat. Подробнее см. [].
[Java7]
Если система Android жалуется, что не может использовать Java7, сделайте правый клик мышью на имени Вашего проекта и выберите раздел Java Compiler. Убедитесь, что используется Java 1.5 или Java 1.6. Вы можете поставить галочку "Enable project specific settings".
[Eclipse сообщает, что отсутствует файл R.java]
Иногда Eclipse жалуется на то, что не может найти файл R.layout.main. Проверьте в своем исходном коде, что Вы не делаете импорт android.R. Импорт android.R приводит к тому, что Eclipse не может найти файл R.
[Не открывается редактор ресурсов (Android editor)]
Android предоставляет отличные редакторы для редактирования файлов ресурсов Android, но к сожалению эти редакторы не всегда используются автоматически из за багов в ADT. Если такое происходит, то Вы можете открыть редактор вручную. Сделайте правый клик мышью на файле меню, и выберите Open with -> Android Menu Editor.
[Эмулятор не запускается]
Если Ваш эмулятор (виртуальное устройство Android, на котором Вы пытаетесь отлаживать программу) не стартует, убедитесь, что Ваша версия android-sdk имеет путь (path name) без каких-либо пробелов.
[Настройка таймаута при передаче приложения в эмулятор (deployment)]
Если Вы сталкиваетесь с проблемами истечения таймаута, то можно в свойствах Eclipse увеличить таймаут по умолчанию. Выберите в меню Window -> Preferences -> Android -> DDMS и увеличьте таймаут соединения с ADB (ADB connection timeout). Значение таймаута указывается в миллисекундах.
[Инсталляция приложения терпит неудачу из-за недостатка свободного места (insufficient storage)]
Sometimes the emulator will refuse to install an application with the error message: INSTALL_FAILED_INSUFFICIENT_STORAGE.
Виртуальное устройство Android по умолчанию предоставляет только 64 мегабайта для сохранения приложений Android. Вы можете очистить все установленные приложения путем рестарта эмулятора и выбора флага очистки данных пользователя (Wipe user data).
Альтернативно можно установить размер раздела данных (data partition size). Если Вы нажмете Edit (редактировать) в менеджере виртуальных устройств AVD, то Вы можете установить свойство "Ideal size of data partition" (идеальный размер раздела данных) с помощью кнопки New...
[Истек срок сертификата отладки (Debug Certificate expired)]
Если Вы получаете сообщение об ошибке "Debug Certificate expired", переключитесь в папку, которая содержит Android AVD (например папка .android в системе Linux), и удалите файл debug.keystore. Этот файл действителен только один год, и если он отсутствует, то Eclipse регенерирует пароль заново.
[Сообщение об ошибке для @Override]
Аннотация @Override представлена начиная с версии Java 1.6. Если Вы получаете сообщение об ошибке для @Override, поменяете уровень компилятора Java на Java 1.6. Чтобы сделать это, выполните правый клик на имени проекта, выберите Properties -> Java Compiler -> Compiler compliance level и выберите 1.6 в выпадающем списке.
[Отсутствующие импорты]
Java требует, чтобы классы, которые не являются частью стандартного языка Java, были либо полностью квалифицированы (fully qualified), либо декларированы через импорты. Если Вы видите сообщение об ошибке с текстом типа "XX cannot be resolved to a variable", сделайте правый клик в Вашем редакторе кода и выберите Source -> Organize Imports для важных требуемых пакетов.
[Ссылки]
1. Solutions for common Android development problems - Tutorial site:vogella.com. 2. Android Debug Bridge - что это такое? 3. Словарик Android. 4. Source Code for Examples site:vogella.com. 5. Android Open Source Project - Issue Tracker site:code.google.com. 6. Android Development - Tutorial site:vogella.com. 7. Eclipse, Android Studio: FAQ, устранение ошибок. |