创建与Android SDK兼容的Java库

时间:2014-09-07 05:30:46

标签: android

我想创建一个像SLF4J这样的Java库,可以运行某些Android版本(例如Froyo / 2.2)。

问题是,我无法确定我使用的某些方法是否已在该Android版本上提供。例如,"String".isEmpty()在Froyo中不可用。除非我将库项目创建为Android Library项目,否则我应该怎么知道呢?

将项目作为Android库项目进行测试并不容易。对于Gradle来说,Robolectric也很棘手。

我期待像简单的Java Maven项目那样使用某些Android版本中可用的Java API子集。可能吗?就像,我创建了一个新的SLF4J库,而不涉及Android中不存在的方法。

由于

1 个答案:

答案 0 :(得分:0)

Android SDK和其他Java API之间可能存在差异,因此如果您构建和测试代码而不是Android库,则可能会遗漏问题。例如,就在前几天我发现了API 19(Android 4.4)中的一个错误,DecimalFormat生成BigDecimal的错误与J2SE SDK中的错误不同。

但是如果你必须这样做,最简单的方法可能是将其创建为Android库项目,并针对Froyo SDK构建它以确保所有方法都可用。然后使用相同的代码并创建不同的构建文件,以便为您首选的测试框架构建它。