Программирование Android Решение общих проблем при разработке для Android Thu, November 21 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Решение общих проблем при разработке для Android Печать
Добавил(а) microsin   

Перевод статьи [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.

Eclipse-DDMS-Reset-adb

[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-Java-Compiler-setup-Java7

[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...

Edit-AVD-partition-size

[Истек срок сертификата отладки (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, устранение ошибок.

 

Добавить комментарий


Защитный код
Обновить

Top of Page