【问题标题】:How to include Room persistence library in java-library?如何在 java-library 中包含 Room 持久性库?
【发布时间】:2021-05-22 08:27:31
【问题描述】:

我有三个模块

应用模块

plugins {
    id 'com.android.application'
    id 'kotlin-android'
}
//..

域模块

plugins {
    id 'java-library'
    id 'kotlin'
}
//..

数据模块

plugins {
    id 'java-library'
    id 'kotlin'
    id 'kotlin-kapt'

}
//..

我正在尝试在数据模块中添加房间库

//..
java {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

dependencies {
implementation project(path: ':domain')

//coroutine
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinx_coroutine_version"

//room
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
kapt("androidx.room:room-compiler:$room_version")
implementation("androidx.room:room-ktx:$room_version")
}

但我收到此错误

Could not resolve androidx.room:room-runtime:2.3.0.

我已经在项目模块中有 google()

allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }
}

但它一直告诉我它不识别房间图书馆!

【问题讨论】:

  • 您使用的 Gradle 版本是什么?
  • @Anand 我使用的是 Gradle 版本 6.7.1

标签: android module android-room androidx clean-architecture


【解决方案1】:

您需要将jcenter() 添加到存储库块-

repositories {
        google()
        jcenter()
        mavenCentral()
        maven { url 'https://jitpack.io' }
}

【讨论】:

    【解决方案2】:

    Data Module 应该是 Android Library 类型,因为我使用的 Room 持久性库不能在 java 库中使用,因为它依赖于 android 平台 api。

    【讨论】:

      猜你喜欢
      • 2019-08-09
      • 2019-04-25
      • 1970-01-01
      • 2018-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多