Ошибка в реализации библиотек kotlin - PullRequest
0 голосов
/ 24 октября 2018

при сборке кода android для rocket chat я получаю эту ошибку.

Не удалось получить неизвестные библиотеки свойств для объекта типа org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler..

core / build.gradle

  apply plugin: 'com.android.library'
  apply plugin: 'kotlin-android'
  apply plugin: 'kotlin-kapt'


  android {
  compileSdkVersion 28

defaultConfig {
    minSdkVersion 15
    targetSdkVersion 28
    versionCode 1
    versionName "1.0.0"
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

packagingOptions {
    exclude 'META-INF/core.kotlin_module'
    exclude 'META-INF/main.kotlin_module'
 }
}

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

implementation libraries.kotlin
implementation libraries.coroutines
implementation libraries.lifecycleExtensions
kapt libraries.lifecycleCompiler
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.71"}

  repositories {
             mavenCentral()
            }

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Используемые вами расширения не обнаруживаются core/build.gradle.Есть несколько способов решить эту проблему.

Вы можете проанализировать зависимости из dependencies.gradle, где они определены.Глядя на пример Rocket.Chat.Android, расширения выглядят так:

 ext {
    versions = [
            kotlin                : '1.2.61',
            coroutine             : '0.25.0',
            ...

            lifecycle             : '2.0.0', 
            ...
]
    libraries = [
            kotlin                : "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${versions.kotlin}",
            coroutines            : "org.jetbrains.kotlinx:kotlinx-coroutines-core:${versions.coroutine}",
            ...
            lifecycleExtensions   : "androidx.lifecycle:lifecycle-extensions:${versions.lifecycle}",
            lifecycleCompiler     : "androidx.lifecycle:lifecycle-compiler:${versions.lifecycle}",
            ...
    ]
}

, а блок зависимостей вашего core/build.gradle будет выглядеть так:

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

    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.61"
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:0.25.0"
    implementation "androidx.lifecycle:lifecycle-extensions:2.0.0"
    kapt "androidx.lifecycle:lifecycle-compiler:2.0.0"
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.71"
}

В качестве альтернативы,Вы можете просто применить файл dependencies.gradle к core/build.gradle, и я думаю, что он должен обнаружить дополнительные свойства, определенные там.

Добавление apply from: "../dependencies.gradle" к вашему core/build.gradle - это то, о чем я говорю.

0 голосов
/ 24 октября 2018

Попробуйте добавить следующую строку:

kapt "androidx.lifecycle:lifecycle-compiler:2.0.0"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...