You*_*jae 3 android gradle android-gradle-plugin
如果我有以下 Android gradle 脚本;
ext {
compileSdkVersion = 25
}
android {
compileSdkVersion project.compileSdkVersion
}
Run Code Online (Sandbox Code Playgroud)
ext {...}与 具有相同的范围吗project.ext {...}?
下面两个有相同的范围吗?
compileSdkVersion project.compileSdkVersioncompileSdkVersion this.compileSdkVersioncompileSdkVersion compileSdkVersion- 没有。这给出了错误您可以检查文档:
\n\n\n\n\n额外属性
\n
\n Gradle\xe2\x80\x99s域模型中的所有增强对象都可以保存额外的用户定义属性。这包括但不限于项目、任务和源集。可以通过所属对象\xe2\x80\x99s ext 属性添加、读取和设置额外的属性。或者,可以使用 ext 块一次添加多个属性。
在您的代码中,该ext块向project对象添加了两个额外的属性。
也是 的ext简写project.ext。\n要读取额外的属性,请ext省略,您可以使用类似以下内容的内容:
project.myExtProp myExtProp根据您的情况,您可以使用:
\n\ncompileSdkVersion project.compileSdkVersion \nRun Code Online (Sandbox Code Playgroud)\n\n因为额外的属性与 android 属性具有相同的名称。
\n\n只是最后的考虑。
\n在根级别文件中定义如下:
ext {\n compileSdkVersion=26\n}\nRun Code Online (Sandbox Code Playgroud)\n\n您正在向对象添加额外的属性rootProject。
\n这意味着在您的 module/build.gradle 文件中您可以使用以下方法检索此值rootProject.ext:
android {\n compileSdkVersion rootProject.ext.compileSdkVersion\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
5023 次 |
| 最近记录: |