web-dev-qa-db-ja.com

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ブロックの次の行もすべて問題ありません。

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ではこのような警告は表示されなかったようです

14
user924

これは単なる警告であり、動作するはずです。

projectスコープ内でAndroidを使用すると、Gradleはprojectの呼び出し場所を見つけようとします。

enter image description here

この警告を修正するには、2つのオプションがあります。

Androidスコープ外で定数を取得します。

def compileSdkVersion =  project.ext.compileSdkVersion
Android {
compileSdkVersion compileSdkVersion
...

または、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
15
Saeed Masoumi