这是一个有关在Gradle中构建项目的方式以及何时应使用子项目而不是软件包的问题。
让我们想象一个小项目:
该项目是一个API,它是REST API的抽象级别。该项目处理缓存失效,对象抽象(因此您可以调用user.setPassword
而不是自己执行HTTPS请求)。
为此,该项目分为三个部分:
User
等类)post(url, token, JsonParameters)
)在使用Gradle之前,我会将所有这些都设置为单独的Java包。
现在我正在使用Gradle,在我看来HTTPS处理程序应该是一个子项目,因为它完全独立于其他所有东西。这样,如果未修改Gradle,它将不会重新编译/重新测试。
我不确定内部缓存等应该是子项目还是仅仅是包。据我了解:
此外,当我声明对MavenCentral上某个项目的依赖性时(例如),我确实可以访问其依赖性,对吗?在这种情况下,我希望导入我的项目的用户只能访问“公共”部分。我在Android教程中看到可以指定依赖级别(例如,可以声明公共API中是否存在某些依赖)。这是Android-Gradle的特定功能,还是可以在常规Gradle上使用? (我正在使用Gradle 4.4版)。如果可以的话,该问题的首选解决方案是在子项目中写入缓存等,然后以这种方式将其导入主项目吗?