У меня есть настраиваемый элемент управления предпочтениями, для которого я определил несколько атрибутов в values / attrs.xml. Чтобы сфокусировать разговор, вот пример атрибутов, которые можно найти в values / attrs.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="MyCustomView">
<attr name="android:text"/>
<attr name="android:textColor"/>
<attr name="extraInformation" format="string" />
</declare-styleable>
</resources>
Чтобы использовать атрибуты, вы используете тег xmlns там, где хотите его использовать, и он выглядит примерно так:
xmlns:custom="http://schemas.android.com/apk/res/com.conundrum.app.lib"
В этом заключается проблема: определение xmlns ссылается на имя пакета БИБЛИОТЕКИ, и этот ресурс отлично компилируется в проекте БИБЛИОТЕКА. Однако проект Android, который включает проект библиотеки, имеет другое имя пакета, и Android пытается объединить все ресурсы. Когда он доходит до этого определения xmlns, он блокируется, потому что имя пакета отличается во включенном проекте Android.
У кого-нибудь есть идеи по использованию ссылок xmlns в проектах библиотеки, которые все еще действительны для включения проектов Android?
Были объявлены -styleables - это просто упущение со стороны команды Android, когда они рассматривали библиотеки?