无法获取 gradle build android studio 类型对象的未知属性

Posted

技术标签:

【中文标题】无法获取 gradle build android studio 类型对象的未知属性【英文标题】:Could not get unknown propert for object of type gradle build android studio 【发布时间】:2021-08-05 08:42:56 【问题描述】:

在我的 android studio 项目中,我的 gradle.build 文件看起来一模一样

buildscript 
    ext.kotlin_version = "1.3.72"
    repositories 
        google()
        jcenter()
        maven 
          url "https://maven.mozilla.org/maven2/"
        
    
    dependencies 

        classpath "com.android.tools.build:gradle:4.1.3"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
      implementation "org.mozilla.geckoview:geckoview-$geckoviewChannel:$geckoviewVersion"

    


ext 
    geckoviewChannel = "nightly"
    geckoviewVersion = "85.0.20201121092754"

allprojects 
    repositories 
        google()
        jcenter()
    


task clean(type: Delete) 
    delete rootProject.buildDir


compileOptions 
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8


但在运行 ./gradlew 时出现类似的错误

A problem occurred evaluating root project 'My Application'.
> Could not get unknown property 'geckoviewChannel' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler

我在这里没有发现任何遗漏或错误。我在这里错过了什么。

【问题讨论】:

我猜你的依赖在错误的地方。您应该编写另一个 build.gradle 您的依赖项,其中包含 kotlin、androidx.core 等依赖项。有关更多信息,请查看:developer.android.com/studio/build/dependencies 【参考方案1】:

项目属性

ext 
    geckoviewChannel = "nightly"
    geckoviewVersion = "85.0.20201121092754"

在首先评估的 buildscript 块中不可见。一个潜在的解决方案是将 ext 块移动到 buildscript 块中。

【讨论】:

【参考方案2】:

这是另一个简单的错误,我通过在module_name/build.gradleas mentioned here 中练习个体依赖来设法解决了这个错误。我愚蠢地错误地忽略了项目根目录的 build.gradle 文件中的注释

dependencies 
        ...
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files

所以我所做的就是将 build.gradle 重置为最初并在 module_name/build.gradle 中配置 geckoview。

【讨论】:

以上是关于无法获取 gradle build android studio 类型对象的未知属性的主要内容,如果未能解决你的问题,请参考以下文章

构建 Gradle 错误无法获取未知属性“编译”

Android Studio gradle sync失败无法从服务器获取状态为405的gradle pom

无法在 app/build.gradle 中在线导入 com.android.build.OutputFile 解析符号“build”

> 无法解析 com.android.tools.build:gradle:3.5.0

android studio 升级到3.5版本报错gradle无法获取pom文件

同步 gradle 的问题:无法解析外部依赖项 com.android.tools.build:gradle,因为没有定义存储库