无法获得未知财产' anko_version'对于类型的对象...?

时间:2017-08-23 04:05:04

标签: android gradle kotlin anko

我正在尝试将Anko与我的Android Kotlin项目一起使用。我已将该行添加到我的dependencies / gradle模块文件中,如下所示:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    compile "org.jetbrains.anko:anko:$anko_version"
    compile 'com.android.support:appcompat-v7:26.+'
    compile 'com.android.support:design:26.+'
    compile 'com.android.support:support-vector-drawable:26.+'
    compile 'com.android.support:support-v4:26.+'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
}

但是在尝试执行gradle同步时出现以下错误:

  

错误:(36,0)无法获取未知属性' anko_version'对象   类型   org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler。   打开文件

如何在项目中正确合并Anko?

供参考,我使用的是Android Studio 2.0。

4 个答案:

答案 0 :(得分:7)

anko_version块上方的ext块中添加dependencies

ext {
   anko_version = '0.10.1'
}

Naetmul在评论中建议的另一个选择是将$anko_version替换为0.10.1

答案 1 :(得分:2)

您可以在项目级build.gradle文件中定义它。

enter image description here

您可以使用 0.10.1 的当前版本(2017年9月1日)替换

答案 2 :(得分:0)

这就是我的方法,效果很好:

  1. 打开您的project gradle
  2. ext块中添加一个buildscript块。
  3. 添加您的版本属性。

enter image description here

在您的app gradle中,如下设置您的版本:

enter image description here

答案 3 :(得分:0)

使用这个

implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

不要用这个

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

不要使用这个

implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"