2013-03-25 52 views
1

我所做的如何在不共享源代码的情况下创建和使用Android库?

我已经创建了一个包含完整的自定义属性几种自定义视图库项目。该库还包含测试布局以测试视图。

我也读:https://code.google.com/p/android/issues/detail?id=9656#c81

因此,图书馆的测试布局中我利用http://schemas.android.com/apk/res-auto命名空间。

我试图做

然后我开始了一个新的项目,以消耗库中,包括图书馆这个项目是共享源代码时非常容易;在测试应用程序的主要活动中,我可以很容易地使用setContentView(R.layout.libactivity)

来扩大测试布局但是,在关闭库项目并试图使用库的jar之后,证明是困难的!

我在库的/ bin文件夹中找到了库jar - 但只包含类和没有资源。

然后我输出了一个库的jar - 包含资源文件以及.class文件。但这是如何使用?

具体问题

怎么可能夸大,我包括在库中的libactivity测试活动?

我知道在stackoverflow上有类似的问题 - 但它们似乎已经过时并且相互冲突,因为Google可以将资源文件包含在库中。

+0

http://stackoverflow.com/questions/17400469/android-creating-library-project-without-source-code – abdessamed 2014-04-04 09:14:54

回答

2

下面是我已经能够无需共享源代码创建一个库项目。它需要两个项目:基础库和发布库。

基地图书馆 - 这就是你把所有的源代码,即所有的活动,自定义视图等,您可以把资源文件在这个库中,如果你想要的,但并不需要它。

版本库 - 包含来自基本库的bin /文件夹的jar以及您希望包含的任何资源文件。如果您已将任何资源文件包含在基础库项目中,则需要将它们复制到此项目中。

当您要使用您的代码时,您将添加发布库与包含任何其他共享库相同。您的源代码将可用,但隐藏,因为它在jar文件中。唯一需要注意的是您的资源文件将会显示,因为它们位于共享库项目中。不幸的是,我无法找到让这些不可见的方法。

因此,要具体说明您的情况,您需要将自定义视图置于基本库项目中。测试布局需要放入发布库项目中。

你的第三个项目(一个测试库)只需要对发布库的引用,你应该很乐意去。

+0

据我所知,它在jar文件中的源代码不隐藏。将“jar”更改为“zip”并将其解压缩。所有源代码都可用于复制。 – 2013-07-29 13:36:14

0

哈...这是一个很好的问题,如果你要导出您图书馆项目了个XML,并不重要......

然后添加远销库JAR到libs文件夹你的启动项目,你会发现这些XML在你的R文件中。

让我知道,如果它的工作...

相关问题