android - Build.gradle:对 'project' 的访问超出了其访问权限

标签 android android-studio gradle android-gradle-plugin build.gradle

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 {
    ...

enter image description here

这里有什么问题吗?

虽然它适用于同一项目中的库:

enter image description here

对于 defaultConfig block 中的下一行,一切都很好

minSdkVersion project.ext.minSdkVersion
targetSdkVersion project.ext.targetSdkVersion

enter image description here

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 似乎没有显示此类警告

最佳答案

这只是一个警告,它应该有效。

因为当您在 android 范围内使用 project 时,Gradle 会尝试找到 project 的调用位置。

List of project candidates reported by IDE

您有两种选择来修复此警告。

让你的常量在 android 范围之外。

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 中使用它,例如:

apply plugin: 'com.android.application'
apply from: '../constants.gradle'

android {

    compileSdkVersion buildVersions.compileSdkVersion
    buildToolsVersion buildVersions.buildToolsVersion
    ...

关于android - Build.gradle:对 'project' 的访问超出了其访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52676917/

相关文章:

ide - intelliJ idea plus Gradle,在哪里可以找到编译器输出?

android - 自定义 ScrollingViewBehavior 不加载

java - recyclerview.adapter 重置单选按钮

Android:从服务检测触摸

android - Phonegap 插件 Activity 导入布局

android - build.gradle 依赖项具有相同的版本规范,但仍然显示混合版本错误

android - 按下特定按钮时播放特定声音

android - 在模块 jetified-google-play-services.jar 和 jetified-play-services-base-17.0.0-runtime.jar 中发现重复的类

javascript - 如何从常规 Javascript 调用 Kotlin/JS 函数?

gradle - 包 ratpack.test 不存在