1

注意:请为这个问题建议一个更好的标题。

假设我有两个同名的类,我想在编译之前根据用例/应用程序版本导入一个或另一个。有没有办法做到这一点?

为什么我需要这个?,你可能会问。

我需要使用一个重要的 java 库java.time,但我还需要支持 min sdk 23 (Android 6.0)。我可以在我的 Android 应用程序中使用threeThenABP来使用所有java.timeAPI,但我需要从org.threeten.bp.

那个重要的图书馆实际上是私人的。因此,我们的想法是让它使用java.time导入或org.threeten.bp导入,以便编译与 Android 和桌面 Java 应用程序兼容的 2 个版本。

我希望我的解释足够清楚。谢谢您的帮助。

4

1 回答 1

1

threetenbp正如@Ole VV 所建议的那样,我最终在库项目中使用了
然后,在我的android项目中,我使用threetenAbp了(android特定版本)并使用gradle将其导入了库。最后,排除库中使用的包意味着threetenAbp使用它。

implementation ('my-library') {
    exclude group: 'org.threeten'
}

注意:注意 和 中的差异 (A threetenbp) threetenAbp

于 2019-05-20T15:13:12.423 回答