我做了什么
我创建了一个库项目,其中包含多个带有自定义属性的自定义视图。该库还包含用于测试视图的测试布局。
我还读到:https://code.google.com/p/android/issues/detail?id=9656#c81
因此,在库的测试布局中,我确实使用了http://schemas.android.com/apk/res-auto
命名空间。
我正在尝试做什么
然后我开始了一个新项目来使用该库,在共享源代码时,包含该项目的库非常容易;在test-app的主要活动中,我可以使用setContentView(R.layout.libactivity)
然而,关闭库项目并尝试使用库的jar证明是困难的!
我在库的/ bin文件夹中找到了库jar - 但是它只包含类而没有资源。
然后我导出了一个库的jar - 它包含资源文件和.class文件。但这是如何使用的?
具体问题
如何扩充我在库中包含的libactivity
测试活动?
我知道stackoverflow上有类似的问题 - 但它们似乎已经过时且存在冲突,因为Google可以在库中包含资源文件。
答案 0 :(得分:2)
以下是我在不共享源代码的情况下创建库项目的方法。它需要两个项目:基础库和发布库。
基础库 - 这是您放置所有源代码的地方,即您的所有活动,自定义视图等。如果需要,您可以将资源文件放在此库中,但它不是需要的。
发布库 - 包含基础库的bin /文件夹中的jar以及要包含的所有资源文件。如果已在基础库项目中包含任何资源文件,则需要将它们复制到此项目中。
如果要使用代码,则添加版本库与包含任何其他共享库的版本库相同。您的源代码将可用,但仍然是隐藏的,因为它位于jar文件中。唯一需要注意的是,您的资源文件将在共享库项目中可见。不幸的是,我无法找到一种方法来保持那些不可见的。
因此,要具体说明您的情况,您需要将自定义视图放在基础库项目中。测试布局需要进入发布库项目。
你的第三个项目(一个用来测试库)只需要一个对发布库的引用,你就应该好了。
答案 1 :(得分:0)
哈......这是一个很好的问题,如果你要将你的图书馆项目与 xmls一起导出,那不重要......
然后将导出的库Jar添加到启动项目的libs文件夹中,您可以在R文件中找到这些XML。
让我知道它是否有效......