Решение общих проблем при разработке для Android |
![]() |
Добавил(а) microsin |
Перевод статьи [1], посвященный решению многих проблем, возникающих у программистов Android. Все непонятные термины и сокращения ищите в Словарике Android [3]. [Очистка проекта (Clean Project)] У некоторых пользователей возникают ошибки следующего характера: 1. В проекте отсутствует требуемая папка исходного кода gen. Как ни странно, но эти проблемы и многие другие часто решаются, если сделать простую операцию очистки. Перед очисткой сохраните все редактируемые файлы (меню 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. |