10

我正在尝试创建一个 android 组件,该组件可以作为 jar 库轻松添加到 android 项目中。

为此,我必须在“res/values/attr.xml”中创建新的 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"

但它仍然不起作用)

我宁愿使用 jar 来促进它在项目中的集成!

有没有人遇到过这样的问题谁能帮帮我?

谢谢你。

4

1 回答 1

3

我正在尝试创建一个 android 组件,该组件可以作为 jar 库轻松添加到 android 项目中。

如果您想重用代码和资源,则无法使用 jar 文件来实现。您需要将您的库转换为库项目

然后我将该项目作为 jar 库导入到另一个项目中。要在新项目中创建我的图形组件,我必须更改以下路径:

如果您使用的是库项目,您仍然会引用自定义属性,就好像它包含在应用程序中一样(因为 android 会在编译应用程序时将所有资源合并在一起):

xmlns:app="http://schemas.android.com/apk/res/com.component.mypackage"
于 2011-05-05T15:05:45.743 回答