Как создать собственные компоненты для Android и использовать их из библиотеки jar?

Я пытаюсь создать компонент Android, который можно легко добавить в проекты 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" 

Но он все равно не работает)

Я бы предпочел использовать банку, чтобы облегчить ее интеграцию в проект!

Кто-нибудь сталкивался с такой проблемой, которая могла мне помочь?

Спасибо.

Solutions Collecting From Web of "Как создать собственные компоненты для Android и использовать их из библиотеки jar?"

Я пытаюсь создать компонент Android, который можно легко добавить в проекты Android в качестве библиотеки jar.

Если вы хотите использовать код повторного использования и ресурсы, это будет невозможно сделать с помощью файла jar. Вам нужно будет преобразовать вашу библиотеку в проект библиотеки .

Затем я импортирую этот проект как библиотеку jar в другой проект. Чтобы создать мои графические компоненты в новом проекте, я должен изменить путь ниже:

Если вы используете проект библиотеки, вы все равно будете ссылаться на пользовательский атрибут, как если бы он содержался в приложении (так как андроид будет объединять все ресурсы вместе при компиляции приложения):

 xmlns:app="http://schemas.android.com/apk/res/com.component.mypackage"