在gradle任务中获取Android SDK目录
最近,android的gradle插件得到了更新(使用android studio),之后,以前访问SDK目录的方法停止了工作。表情在gradle任务中获取Android SDK目录,android,android-gradle-plugin,Android,Android Gradle Plugin,最近,android的gradle插件得到了更新(使用android studio),之后,以前访问SDK目录的方法停止了工作。表情 ${android.plugin.sdkDirectory} 在旧版本中工作的,现在返回错误 Error:(42, 0) No such property: sdkDirectory for class: com.android.build.gradle.LibraryPlugin 获得正在使用的android SDK目录的正确方法是什么,最好独立于用户的配置
${android.plugin.sdkDirectory}
在旧版本中工作的,现在返回错误
Error:(42, 0) No such property: sdkDirectory for class: com.android.build.gradle.LibraryPlugin
获得正在使用的android SDK目录的正确方法是什么,最好独立于用户的配置,如插件和gradle版本?脚本需要与多个用户共享。您可以使用
$System.env.ANDROID_HOME
在
gradle.properties
set locationsdkdir=/home/user/android sdk
中,然后在gradle中,您可以使用$sdkdir
因为之前的所有答案都取决于正常配置之上的环境或特定用户干预,所以我将发布技术上混乱的修复
if (android.hasProperty('plugin')) {
if (android.plugin.hasProperty('sdkHandler')) {
androidPath = android.plugin.sdkHandler.sdkFolder
} else {
androidPath = android.plugin.sdkDirectory
}
} else {
androidPath = android.sdkDirectory
}
与以前的所有方法不同,这实际上是可行的,但它看起来仍然很粗糙。我使用的是Android gradle插件v1.2.3,这很好:
${android.sdkDirectory}
在shell中导出ANDROID_HOME=/xxx/xxx/然后通过gradle文件中的System.env.ANDROID_HOME使用它。编写时会产生语法错误。将示例更正为
println“${System.env.ANDROID_HOME}”
返回null
,因为Android studio的默认行为是通过local.properties设置路径,并且我特别寻找一些与配置无关的东西。不幸的是,这在Android Gradle插件v中不再起作用。1.1.3. 现在缺少属性android.plugin。Gradle插件版本1.1.3的任何解决方案?在这种情况下,请使用android.sdkDirectory
(不带.plugin
)。我已经相应地更新了答案。