android - 在 gradle 任务中获取 Android SDK 目录

标签 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 目录的正确方法是什么,最好独立于用户的配置,如插件和 gradle 版本?该脚本需要与多个用户共享。

最佳答案

由于之前的所有答案都取决于环境或在正常配置之上的特定用户干预,我将只发布我的技术上困惑的修复。

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 任务中获取 Android SDK 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24243693/

相关文章:

android - 无法从github运行演示android项目

android - 在 apk 中包含具有不同前缀的文件

android - 我如何使用 Kodein 进行注入(inject)?

android - Flutter 中 Android RecyclerView.SCROLL STATE IDLE 的等价物是什么

android - 将多个参数发送到 Retrofit 接口(interface)调用

java - 字符串串行通信

android - 任务 ':app:compileDebugJavaWithJavac' 执行失败。 > java.util.NoSuchElementException : List is empty

android - 找不到参数的方法 jackOptions()

android - 导入 rxJava 时出现 META-INF 错误

javascript - 我如何知道设备屏幕有多少物理英寸?