我对Android开发很新,但我对Java和Eclipse有一些经验。我正在寻找创建可以在我自己的项目中使用的可重用库(控件,帮助器,“标准”活动等)的方法,但也可以在不透露源代码的情况下将其分发给其他开发人员。 / p>
通常,我将类文件打包成一个JAR文件,任何其他开发人员都可以将它添加到类路径中并使用打包的类。
我如何使用Android项目做到这一点?我已经阅读了有关Android库项目的内容,但正如文档所述,它们无法打包到JAR中,但会与引用库项目的项目一起编译。这意味着我还必须分发源代码。
我还阅读了this post,它询问了同样的问题,但没有提供令人满意的答案。
所以:有没有一种方法可以编译和打包一组类和其他文件(包括XML布局,资源和东西),并且只分发那个没有任何源代码的包,这样就可以“引用”它并像使用它一样使用任何其他开发人员的JAR文件?
答案 0 :(得分:5)
我已经阅读了有关Android图书馆项目的内容,但正如文档所述,它们不可能 打包到JAR中,但将与引用该库的项目一起编译 项目。这意味着我还必须分发源代码。
不正确。它确实需要一些额外的打包工作,但您可以将代码编译为JAR并将JAR分发到库项目的libs/
目录中。
所以:有没有办法编译和打包一组类和其他文件(包括 XML布局,资源和东西)并且只分发那个没有任何来源的包 代码,以便它可以被任何其他开发人员“引用”并像JAR文件一样使用?
使用Android库项目。我有some stuff written up here描述了更多的包装选项,以及指向遵循其中所述约定的一些“包裹”的指针。
答案 1 :(得分:0)
Thanx为您的解决方案。根据我的理解,您仍然无法从库代码中访问库的私有资源。因此,假设您的库在库中的res / values下有一个名为“my_lib_resource”的字符串资源。你将它与源代码一起捆绑在jar中。您可以使用以下内容从库源代码访问此资源:
int id = res.getIdentifier("com.example.mylib:string/my_lib_resource",null,null)
假设您的库包名称为com.example.mylib。
对我而言,这不起作用。
答案 2 :(得分:0)