Build.gradle:对“项目"的访问超出其访问权限 [英] Build.gradle: Access to 'project' exceeds its access rights
问题描述
constants.gradle
project.ext {
minSdkVersion = 19
compileSdkVersion = 28
targetSdkVersion = 28
buildToolsVersion = '28.0.3'
supportLibraryVersion = '28.0.0'
}
build.gradle 应用程序
apply plugin: 'com.android.application'
apply from: '../constants.gradle'
android {
compileSdkVersion project.ext.compileSdkVersion
buildToolsVersion project.ext.buildToolsVersion
defaultConfig {
...
这里出了什么问题?
虽然它适用于同一项目中的库:
Though it works fine for libraries in the same project:
对于 defaultConfig
块中的下一行也一切正常
Also everything is fine for the next lines in defaultConfig
block
minSdkVersion project.ext.minSdkVersion
targetSdkVersion project.ext.targetSdkVersion
Android Studio 3.2,classpath 'com.android.tools.build:gradle:3.2.0'
,distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
Android Studio 3.2, classpath 'com.android.tools.build:gradle:3.2.0'
, distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
似乎在以前的 Gradle 或 Studio 中没有显示此类警告
Seems it didn't show such warnings with the previous Gradle or Studio
推荐答案
这只是一个警告,它应该可以工作.
It's just a warning and It should work.
因为当您在 android
范围内使用 project
时,Gradle 会尝试找到 project
的调用位置.
Because when you use project
inside android
scope, Gradle tries to find the invocation location of project
.
您有两种方法可以修复此警告.
You have two options to fix this warning.
让您的常量超出 android
范围.
Get your constants outside of android
scope.
def compileSdkVersion = project.ext.compileSdkVersion
def buildToolsVersion = project.ext.buildToolsVersion
android {
compileSdkVersion compileSdkVersion
buildToolsVersion buildToolsVersion
...
或者更新你的constants.gradle
:
ext {
buildVersions = [
minSdkVersion : 19,
compileSdkVersion : 28,
targetSdkVersion : 28,
buildToolsVersion : '28.0.3',
supportLibraryVersion : '28.0.0',
]
}
并在您的 build.gradle
中使用它,例如:
and use it in your build.gradle
like:
apply plugin: 'com.android.application'
apply from: '../constants.gradle'
android {
compileSdkVersion buildVersions.compileSdkVersion
buildToolsVersion buildVersions.buildToolsVersion
...
这篇关于Build.gradle:对“项目"的访问超出其访问权限的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!