Ссылка на пользовательскую библиотеку Android приводит к ошибке runtime class not found в приложении
-
25-09-2019 - |
Вопрос
Я работаю над пользовательской библиотекой Android.Я начинаю с java-проекта (в Eclipse) и другого проекта для тестирования пользовательского интерфейса Android.
В моем проекте тестирования пользовательского интерфейса я ссылаюсь на проект библиотеки в пути сборки, и все хорошо, и я могу протестировать коды библиотеки в пользовательском интерфейсе.
Позже я решил, что мне нужен код "Gen" (для атрибутов пользовательских стилей), поэтому я пытаюсь изменить свою библиотеку на проект Android (через Android-tools -> convert..), и катастрофы случаются!После устранения всех проблем во время компиляции, он, наконец, "позволил" мне запустить приложение для тестирования пользовательского интерфейса, и бах!Когда я пытаюсь создать какие-либо объекты из класса library, в нем сказано (в журнале), что Класс не найден.
Два вопроса:
Есть идеи, как это исправить?Я пробовал, но, похоже, это для ссылки на другой файл .apk, который необходимо установить отдельно.
Если я просто оставлю это java project (не Android) для своей библиотеки, могу ли я использовать генератор ресурсов?и каким образом?
PS:зависимость (моя библиотека) устанавливается перед тестированием пользовательского интерфейса приложения, согласно сообщению консоли Eclipse.
Обновить:Я попытался скомпилировать проект библиотеки в jar и ссылаться на него из тестирования пользовательского интерфейса, и таким образом, это работает.Но я не хочу использовать этот подход, поскольку он очень медленный с точки зрения тестирования.
Решение 2
Наконец-то я нашел ответ на свой собственный вопрос.На самом деле это упоминается в официальная документация.
Другие советы
для тех, кто совершает ту же ошибку, что и я
когда проект библиотеки - это проект для Android добрался до
свойства > android > нажмите кнопку добавить в нижней части всплывающего окна внутри раздел библиотека
и добавьте project, вместо
свойства > путь сборки java > проект > добавить
более поздний подход предназначен только для чистых java - проектов .