【问题标题】:How to get compileSdkVersion in my custom gradle plugin如何在我的自定义 gradle 插件中获取 compileSdkVersion
【发布时间】:2017-03-26 07:35:10
【问题描述】:

我正在编写一个自定义 gradle 插件。 在我的自定义插件中,如何获取宿主项目的 compileSdkVersion。

【问题讨论】:

    标签: android gradle groovy


    【解决方案1】:

    您可以从project.android.compileSdkVersion检索它

    apply plugin: CompileSdkVersionPlugin
    ...
    
    class CompileSdkVersionPlugin implements Plugin<Project> {
        void apply(Project project) {
            project.task('compileSdkVersion') {
                doLast {
                    println project.android.compileSdkVersion
                }
            }
        }
    }
    

    然后终端中的gradle -q compileSdkVersion命令会打印这个输出:

    android-25
    

    【讨论】:

    • 我无法在 'project' 实例中获取 'android' 字段,是我的 gradle 版本造成的吗?
    • 我的gradle版本是3.4,android gradle插件版本是2.3.0
    【解决方案2】:

    另外,我们可以获取compilesdkversion甚至android.jar路径。在java代码中

    private static String getAndroidJarPath(Project project) {
        AppExtension appExtension = (AppExtension)project.getProperties().get("android");
        String sdkDirectory = appExtension.getSdkDirectory().getAbsolutePath();
        String compileSdkVersion = appExtension.getCompileSdkVersion();
        sdkDirectory = sdkDirectory + File.separator + "platforms" + File.separator
        String androidJarPath = sdkDirectory + compileSdkVersion + File.separator + "android.jar";
        return androidJarPath;
    }
    

    【讨论】:

      猜你喜欢
      • 2021-08-23
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      • 2022-07-31
      • 2023-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多