Java 为Android创建第三方库的项目设置

Java 为Android创建第三方库的项目设置,java,android,Java,Android,我正在为Android创建一个库,其他人可以将其包含在自己的项目中。到目前为止,我一直在以JDK1.6设置为系统库,将其作为一个普通的Java项目进行研究。当我添加android.jar时,它在Eclipse中工作得很好 当我尝试构建脚本时,问题就出现了。我正在运行Gradle并执行正常的编译和测试构建周期。我的想法是,如果我用普通的JDK编译它,这并不重要,因为这不是一个独立的应用程序。创建一个普通Java项目的好处是Gradle确实更好地支持这一点。我的项目也不包含任何UI。然而,问题是an

我正在为Android创建一个库,其他人可以将其包含在自己的项目中。到目前为止,我一直在以JDK1.6设置为系统库,将其作为一个普通的Java项目进行研究。当我添加android.jar时,它在Eclipse中工作得很好

当我尝试构建脚本时,问题就出现了。我正在运行Gradle并执行正常的编译和测试构建周期。我的想法是,如果我用普通的JDK编译它,这并不重要,因为这不是一个独立的应用程序。创建一个普通Java项目的好处是Gradle确实更好地支持这一点。我的项目也不包含任何UI。然而,问题是android.jar和JDK当然包含很多相同的类,我认为这就是我的构建脚本的混乱之处。运行测试时,所有内容都会崩溃(测试在src/test/java下的同一个项目中)

我的问题是,我应该如何创建这个作为第三方库包含在Android项目中的项目?即使我只是创建一个不使用任何UI特性的库,我是否应该在Eclipse中将其创建为一个Android项目?此外,测试是否应该在单独的项目中进行


谢谢大家的回复

我将从一个简单的问题开始,一个关于测试项目的问题。我的经验是最好有一个单独的测试项目。我已经在许多javame项目中成功地做到了这一点,在这些项目中,问题是相似的。测试项目只需要导入源代码,而不需要导入库。这样,重复类就不会有问题了


另一个问题有点难。我的直觉告诉我,核心项目应该是Android项目。

你看过Gradle的Android插件吗?它结合了ProGuard工具,只将必要的类打包到您的Android APK文件中,因此可以解决您的场景。看看这里:

我已经看过插件:)-proguard不也会混淆类吗我的插件经验还可以。我有一些问题,它没有工作的所有时间,并决定在最后不使用它。原因是,有时它似乎没有找到调试密钥来签署测试包(使用了AndroidStall任务,它刚刚开始挂起)。而且它确实需要一个eclipse任务来生成项目文件。虽然这条路是对的,所以继续努力吧!