Я выполнил приведенные здесь инструкции о том, как создать проект библиотеки Android и использовать его в приложении Android:
http://developer.android.com/guide/developing/eclipse-adt.html
Но это не работает. Я вижу, что проект библиотеки добавлен в мое приложение, но я не могу ссылаться ни на что в нем, потому что он не собирается. Файл R.java из библиотеки НЕ добавляется в мой проект приложения, поэтому проект lib содержит массу ошибок, везде он пытается ссылаться на свой собственный файл R.java.
Я не знаю, имеет ли это какое-либо отношение к этому, но в консоли есть сообщения о том, что для атрибута «X» в пакете «Lib Package» не найден идентификатор ресурса. В моем библиотечном пакете есть несколько стилизованных атрибуты, определенные для созданного мной настраиваемого представления, на все из которых жалуются в этом сообщении консоли. Библиотека создается отлично, и я не получаю эти сообщения в консоли, пока не подключу библиотеку к своему приложению, поэтому я не Не знаю, что с этим делать.
Я действительно хотел бы, чтобы это работало. Я потратил на это целых два дня, но безрезультатно. Пожалуйста, предложите любые идеи, которые могут вам помочь!
2 ответа
Ответом на мою загадку было то, что в библиотеке был файл attrs.xml, который определял несколько настраиваемых атрибутов для созданного мной настраиваемого представления. Я удалил attrs.xml и жестко запрограммировал значения в пользовательском коде представления, перестроил библиотеку и проблема решена.
Это не круто, это означает, что пользовательские представления с настраиваемыми атрибутами не могут использоваться в библиотеках. Я надеюсь, что Google это исправит.
На самом деле дело в дублировании файлов. Вы не можете создать проект, содержащий более одного экземпляра одного и того же файла. Из-за характера проекта Android файлы XML обычно являются первыми препятствиями на пути к успешной сборке.
splashscreen_lite.png
и splashscreen_pro.png
. Как говорит @Eitan Schwartz, они будут объединены во время сборки, при этом ресурсы проекта приложения будут иметь приоритет над ресурсами проекта библиотеки.
Похожие вопросы
Связанные вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.