【发布时间】:2017-03-26 07:35:10
【问题描述】:
我正在编写一个自定义 gradle 插件。 在我的自定义插件中,如何获取宿主项目的 compileSdkVersion。
【问题讨论】:
我正在编写一个自定义 gradle 插件。 在我的自定义插件中,如何获取宿主项目的 compileSdkVersion。
【问题讨论】:
您可以从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
【讨论】:
3.4,android gradle插件版本是2.3.0
另外,我们可以获取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;
}
【讨论】: