android - 如何检测 gradle 项目是属于应用程序还是库?
问题描述
我正在编写一个 Android Studio Gradle 插件,我需要做的一件事是遍历项目并检测它们是否属于 Android 应用程序或库类型(或非 android 项目,如通用 java 库)。
我尝试使用以下代码,但它不能正常工作(检测应用程序但不检测库):
import com.android.build.gradle.AppPlugin
import com.android.build.gradle.LibraryPlugin
...
public void getVariants(){
...
def hasApp = p.plugins.withType(AppPlugin)
def hasLib = p.plugins.withType(LibraryPlugin)
...
}
Groovy 脚本中是否有其他适当的方法来检测项目是否属于库类型?
解决方案
project.afterEvaluate {
plugins.withId('com.android.application') {
println("==> module application")
}
plugins.withId('com.android.library') {
println("==> module library")
}
plugins.withId('java') {
println("==> module pure java")
}
}
推荐阅读
- javascript - 访问 GeoFirestore 实用程序函数 (calculateDistance)
- symfony - 带有额外数据的 Symfony 4 表单渲染
- r - 用 R 刮掉比赛结果页面
- php - 将 PDF 转换为图像并覆盖 html 元素
- python - 在python3中将数组数组转换为可读的json
- angular - 来自 RxJS 的 Reduce 不返回 Object
- javascript - 元素无法在 IE 中使用 scrollTop
- vba - 在不删除 VBA 的情况下在 Word 中清除文本内容控件
- truffle - 在 Truffle 中,部分评估的结果属于哪个“抽象级别”?
- maven - 是否可以让 jenkins 容器使用 maven 容器来构建应用程序,而不必使用安装程序?