【问题标题】:Project setup for creating third party libraries for Android为 Android 创建第三方库的项目设置
【发布时间】:2010-04-30 20:55:41
【问题描述】:

我正在为 Android 创建一个库,其他人可以将其包含在他们自己的项目中。到目前为止,我一直在将它作为一个普通的 Java 项目来处理,并将 JDK 1.6 设置为系统库。当我添加 android.jar 时,这在 Eclipse 中工作得很好。

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

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

感谢所有回复!

【问题讨论】:

    标签: java android


    【解决方案1】:

    你看过 Gradle 的 Android 插件吗?它结合了 ProGuard 工具,仅将必要的类打包到您的 Android APK 文件中,因此可能会解决您的场景。看看这里:https://github.com/jvoegele/gradle-android-plugin/wiki

    【讨论】:

    • 我看过插件 :) - proguard 不也混淆类吗? - 我对插件的体验还可以。我遇到了一些问题,它一直无法正常工作,最终决定不使用它。原因是有时它似乎没有找到用于签署测试包的调试密钥(使用了 androidInstall 任务,它刚刚开始挂起)。此外,它确实需要一个 eclipse 任务来生成项目文件。不过,它走在正确的道路上,所以请继续努力!
    【解决方案2】:

    我将从一个简单的问题开始,即关于测试项目的问题。我的经验是最好有一个单独的测试项目。我在许多类似问题的 Java ME 项目中都成功地做到了这一点。测试项目只需要导入源代码,不需要导入库。那么重复类应该没有问题。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-08
      • 1970-01-01
      • 2018-08-29
      • 1970-01-01
      • 2014-07-25
      • 2015-12-02
      • 2016-12-15
      • 2021-05-06
      相关资源
      最近更新 更多