Android Studio перейти к объявлению не работает для buildSrc - PullRequest
0 голосов
/ 21 апреля 2019

Я следую этому учебнику для управления зависимостями Gradle: использование Kotlin и buildSrc для build.gradle Автозаполнение в Android Studio

в файле Dependencies.kt

    object Versions {
        const val support_lib = "22.0.0"
        const val kotlin_version = "1.3.30"
        const val lifecycle_version = "1.1.1"
        const val rxjava_version = "2.2.8"
        const val rxandroid_version = "2.1.1"
    }

    object Modules{
        const val app = ":app"
        const val core = ":core"
    }

    object Libs {
        val support_appcompat_v7 = "com.android.support:appcompat-v7:${Versions.support_lib}"
        val constraint_layout = "com.android.support.constraint:constraint-layout:1.1.3"
        val lifecycle_extensions = "android.arch.lifecycle:extensions:${Versions.lifecycle_version}"
        val kotlin = "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${Versions.kotlin_version}"
        val rxjava2_rxjava = "io.reactivex.rxjava2:rxjava:${Versions.rxjava_version}"
        val rxjava2_rxandroid = "io.reactivex.rxjava2:rxandroid:${Versions.rxandroid_version}"

}

в приложении build.gradle:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example."
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
    }    
    kapt {
        generateStubs = true
    }
}

dependencies {

    implementation project(Modules.core)

    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation Libs.support_appcompat_v7
    implementation Libs.constraint_layout
    implementation Libs.lifecycle_extensions

    implementation Libs.kotlin
    implementation Libs.rxjava2_rxjava
    implementation Libs.rxjava2_rxandroid
    }

repositories {
    mavenCentral()
}

Успешная компиляция и сборка проекта, но когда я пытаюсь перейти на замедление из приложения build.gradle слишком зависимости.kt, он показывает

enter image description here

1 Ответ

1 голос
/ 29 апреля 2019

Во-первых, вам нужно перенести свой отличной gradle в kotlin dsl.Только тогда вы можете получить доступ к классу Kotlin, например, Dependencies.kt.

Во-вторых, вам нужно импортировать файл Dependencies.kt в build.gradle.kts так же, как вы импортируете классы в java.

Добавьте следующую строку в начале вашего build.gradle

import <package_name>.Dependencies.*
...