Я пытаюсь создать компонент Android, который можно легко добавить в проекты андроида в виде библиотеки jar.
Для этого мне пришлось создавать новые атрибуты xml в "res/values /attr.xml", которые я добавляю к своему графическому элементу xml, используя путь:
xmlns:app="http://schemas.android.com/apk/res/com.component.mypackage"
Затем я импортирую этот проект как библиотеку jar в другой проект. Чтобы создать мои графические компоненты в новом проекте, я должен изменить путь ниже:
xmlns:app="http://schemas.android.com/apk/res/com.mylibrary"
Но путь неправильный: пользовательские атрибуты не найдены.
Мне удалось интегрировать R файл в jar библиотеки, и я мог получить к нему доступ из моего xml, чтобы объявить пользовательский компонент следующим образом:
<PreferenceScreen
xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res/com.myLibraryPackage">
<com.myLibraryPackage.mySelfComponent
android:title="Name"
android:key="name"
app:hintText="Input your name"
android:dialogTitle="Your name "
app:validator="com.myLibraryPackage.myValidatorClass" />
Странно, что если я поместил свой файл attr.xml в ресурсы моего проекта, он работает, а это значит, что он находит com.myLibraryPackage.mySelfComponent. В этом случае, почему он не может найти также com.myLibraryPackage?
(Я также попытался заменить
xmlns:app="http://schemas.android.com/apk/res/com.myLibraryPackage"
по
xmlns:app="http://schemas.android.com/apk/res/com.myApplicationPackage"
но он все равно не работает)
Я бы предпочел использовать банку, чтобы облегчить ее интеграцию в проект!
Кто-нибудь сталкивался с такой проблемой, которая могла мне помочь?
Спасибо.