我需要在我的 gradle 构建文件中构建一些技巧,以便 Android Studio 理解一些事情。当我从命令行目录运行构建时,我不需要这些技巧。有没有办法检测何时从 Android Studio 中运行构建?也许通过环境变量等?
问问题
1315 次
3 回答
7
使用AndroidStudio 2.1.1,您可以使用idea.platform.prefix属性:
def sysprops = System.getProperties()
if (sysprops['idea.platform.prefix'] != null) {
// Built from AndroidStudio
} else {
// Built from command line
}
于 2016-10-04T15:20:37.077 回答
6
gradle -P blah=val
从命令行使用并在您的 build.gradle 中使用or project.hasProperty("blah")
orproject.getProperty("test")
来if (blah ... )
决定是否运行您的 hack。
更新:
好的,我找到了直接的方法:)
def env = System.getProperties()
if (env['com.android.studio.gradle.project.path'] != null) {
// build from Android Studio, do magic here
}
于 2013-09-17T07:38:02.507 回答
2
Jake Wharton 建议android.injected.invoked.from.ide
在开发时使用反射来加速黄油刀:
dependencies {
if (properties.containsKey('android.injected.invoked.from.ide')) {
implementation 'com.jakewharton:butterknife-reflect:<version>'
} else {
implementation 'com.jakewharton:butterknife:<version>'
kapt 'com.jakewharton:butterknife-compiler:<version>'
}
}
来自推特:
嘿 ButterKnife 用户:我正在开发基于反射的实现,以便在开发期间使用,因此不需要注释处理器。
跟进:_
这是什么?来自(链接:http://gradle.properties)gradle.properties 的属性?
我们想要的答案:
不,它是由 IDE 添加的
于 2019-05-21T21:29:31.550 回答