【问题标题】:Android room library version replaced by somehowAndroid 房间库版本被莫名其妙地替换了
【发布时间】:2018-11-18 13:24:59
【问题描述】:

我有一个下一个项目结构:

+-- 
|     \-- app
|     \-- my-lib

my-lib我添加了依赖:

implementation "android.arch.persistence.room:runtime:2.1.0-alpha02"
kapt "android.arch.persistence.room:compiler:2.1.0-alpha02"

我尝试访问@DatabaseView,发现它不存在 当我在idea中查看“外部库”选项卡时,我发现 2.1.0-alpha02 被替换为 2.0.0-rc01

我试图找到它可能来自哪里,但没有地方可以添加它

我试过./gradlew clean --refresh-dependencies --debug,我什至找不到提到2.1.0-alpha02
Gradle 事件不会尝试解决它,但会解决 2.0.0-rc01

16:08:17.414 [DEBUG] [org.gradle.internal.progress.DefaultBuildOperationExecutor] Build operation 'Resolve androidx.room:room-runtime:2.0.0-rc01' started
16:08:17.415 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/m2repository/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.2.71/kotlin-stdlib-jdk7-1.2.71.pom
16:08:17.414 [DEBUG] [org.gradle.internal.work.DefaultWorkerLeaseService] Build operation root.1.81.85 could not be started (4 worker(s) in use).
16:08:17.415 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/m2repository/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.2.71/kotlin-stdlib-jdk7-1.2.71.jar
16:08:17.414 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/m2repository/org/jetbrains/kotlin/kotlin-android-extensions-runtime/1.2.71/kotlin-android-extensions-runtime-1.2.71.pom
16:08:17.415 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver] No meta-data file or artifact found for module 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.71' in repository '/var/local/android-sdk/extras/m2repository'.
16:08:17.415 [DEBUG] [org.apache.http.client.protocol.RequestAddCookies] CookieSpec selected: default
16:08:17.415 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver] Attempting to resolve component for androidx.room:room-runtime:2.0.0-rc01 using repositories [/var/local/android-sdk/extras/m2repository, /var/local/android-sdk/extras/google/m2repository, /var/local/android-sdk/extras/android/m2repository, Google, BintrayJCenter, MavenRepo]
16:08:17.415 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/m2repository/androidx/room/room-runtime/2.0.0-rc01/room-runtime-2.0.0-rc01.pom
16:08:17.415 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/m2repository/androidx/room/room-runtime/2.0.0-rc01/room-runtime-2.0.0-rc01.jar
16:08:17.415 [DEBUG] [org.apache.http.client.protocol.RequestAuthCache] Auth cache not set in the context
16:08:17.415 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/m2repository/org/jetbrains/kotlin/kotlin-android-extensions-runtime/1.2.71/kotlin-android-extensions-runtime-1.2.71.jar
16:08:17.415 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.modulecache.DefaultModuleMetadataCache] Recording absence of module descriptor in cache: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.71 [changing = false]
16:08:17.415 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver] No meta-data file or artifact found for module 'org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.2.71' in repository '/var/local/android-sdk/extras/m2repository'.
16:08:17.415 [DEBUG] [org.apache.http.impl.conn.PoolingHttpClientConnectionManager] Connection request: [route: {s}->https://dl.google.com:443][total kept alive: 0; route allocated: 0 of 20; total allocated: 0 of 20]
16:08:17.415 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver] No meta-data file or artifact found for module 'androidx.room:room-runtime:2.0.0-rc01' in repository '/var/local/android-sdk/extras/m2repository'.
16:08:17.415 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.modulecache.DefaultModuleMetadataCache] Recording absence of module descriptor in cache: androidx.room:room-runtime:2.0.0-rc01 [changing = false]
16:08:17.415 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/google/m2repository/androidx/room/room-runtime/2.0.0-rc01/room-runtime-2.0.0-rc01.pom
16:08:17.415 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.modulecache.DefaultModuleMetadataCache] Recording absence of module descriptor in cache: org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.2.71 [changing = false]
16:08:17.415 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/google/m2repository/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.2.71/kotlin-stdlib-jdk7-1.2.71.pom
16:08:17.415 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/google/m2repository/org/jetbrains/kotlin/kotlin-android-extensions-runtime/1.2.71/kotlin-android-extensions-runtime-1.2.71.pom
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/google/m2repository/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.2.71/kotlin-stdlib-jdk7-1.2.71.jar
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/google/m2repository/org/jetbrains/kotlin/kotlin-android-extensions-runtime/1.2.71/kotlin-android-extensions-runtime-1.2.71.jar
16:08:17.415 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/google/m2repository/androidx/room/room-runtime/2.0.0-rc01/room-runtime-2.0.0-rc01.jar
16:08:17.415 [DEBUG] [org.apache.http.impl.conn.PoolingHttpClientConnectionManager] Connection leased: [id: 28][route: {s}->https://dl.google.com:443][total kept alive: 0; route allocated: 1 of 20; total allocated: 1 of 20]
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver] No meta-data file or artifact found for module 'androidx.room:room-runtime:2.0.0-rc01' in repository '/var/local/android-sdk/extras/google/m2repository'.
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.modulecache.DefaultModuleMetadataCache] Recording absence of module descriptor in cache: androidx.room:room-runtime:2.0.0-rc01 [changing = false]
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver] No meta-data file or artifact found for module 'org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.2.71' in repository '/var/local/android-sdk/extras/google/m2repository'.
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver] No meta-data file or artifact found for module 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.71' in repository '/var/local/android-sdk/extras/google/m2repository'.
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.modulecache.DefaultModuleMetadataCache] Recording absence of module descriptor in cache: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.71 [changing = false]
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.modulecache.DefaultModuleMetadataCache] Recording absence of module descriptor in cache: org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.2.71 [changing = false]
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/android/m2repository/androidx/room/room-runtime/2.0.0-rc01/room-runtime-2.0.0-rc01.pom
16:08:17.416 [DEBUG] [org.apache.http.impl.execchain.MainClientExec] Opening connection {s}->https://dl.google.com:443
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/android/m2repository/androidx/room/room-runtime/2.0.0-rc01/room-runtime-2.0.0-rc01.jar
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/android/m2repository/org/jetbrains/kotlin/kotlin-android-extensions-runtime/1.2.71/kotlin-android-extensions-runtime-1.2.71.pom
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/android/m2repository/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.2.71/kotlin-stdlib-jdk7-1.2.71.pom
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/android/m2repository/org/jetbrains/kotlin/kotlin-android-extensions-runtime/1.2.71/kotlin-android-extensions-runtime-1.2.71.jar
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver] No meta-data file or artifact found for module 'androidx.room:room-runtime:2.0.0-rc01' in repository '/var/local/android-sdk/extras/android/m2repository'.
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.modulecache.DefaultModuleMetadataCache] Recording absence of module descriptor in cache: androidx.room:room-runtime:2.0.0-rc01 [changing = false]
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository] Cached meta-data for module must be refreshed: will perform fresh resolve of 'androidx.room:room-runtime:2.0.0-rc01' in 'Google'
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading https://dl.google.com/dl/android/maven2/androidx/room/room-runtime/2.0.0-rc01/room-runtime-2.0.0-rc01.pom
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver] No meta-data file or artifact found for module 'org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.2.71' in repository '/var/local/android-sdk/extras/android/m2repository'.
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.modulecache.DefaultModuleMetadataCache] Recording absence of module descriptor in cache: org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.2.71 [changing = false]
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/var/local/android-sdk/extras/android/m2repository/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.2.71/kotlin-stdlib-jdk7-1.2.71.jar
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver] No meta-data file or artifact found for module 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.71' in repository '/var/local/android-sdk/extras/android/m2repository'.
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository] Cached meta-data for missing module is expired: will perform fresh resolve of 'org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.2.71' in 'Google'
16:08:17.416 [DEBUG] [org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor] Constructing external resource: https://dl.google.com/dl/android/maven2/androidx/room/room-runtime/2.0.0-rc01/room-runtime-2.0.0-rc01.pom
16:08:17.416 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading https://dl.google.com/dl/android/maven2/org/jetbrains/kotlin/kotlin-android-extensions-runtime/1.2.71/kotlin-android-extensions-runtime-1.2.71.pom
16:08:17.416 [DEBUG] [org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor] Constructing external resource: https://dl.google.com/dl/android/maven2/org/jetbrains/kotlin/kotlin-android-extensions-runtime/1.2.71/kotlin-android-extensions-runtime-1.2.71.pom
16:08:17.416 [DEBUG] [org.gradle.internal.progress.DefaultBuildOperationExecutor] Build operation 'Metadata of https://dl.google.com/dl/android/maven2/androidx/room/room-runtime/2.0.0-rc01/room-runtime-2.0.0-rc01.pom' started
16:08:17.416 [DEBUG] [org.gradle.internal.resource.transport.http.HttpResourceAccessor] Constructing external resource metadata: https://dl.google.com/dl/android/maven2/androidx/room/room-runtime/2.0.0-rc01/room-runtime-2.0.0-rc01.pom
16:08:17.416 [DEBUG] [org.gradle.internal.resource.transport.http.HttpClientHelper] Performing HTTP HEAD: https://dl.google.com/dl/android/maven2/androidx/room/room-runtime/2.0.0-rc01/room-runtime-2.0.0-rc01.pom

然后我试图研究依赖三,以了解谁可能带来它:

+--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.71
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.2.71
|         +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.2.71
|         \--- org.jetbrains:annotations:13.0
\--- android.arch.persistence.room:runtime:2.1.0-alpha02 -> androidx.room:room-runtime:2.0.0-rc01
     +--- androidx.room:room-common:2.0.0-rc01
     |    \--- androidx.annotation:annotation:1.0.0-rc01
     +--- androidx.sqlite:sqlite-framework:2.0.0-rc01
     |    +--- androidx.annotation:annotation:1.0.0-rc01
     |    \--- androidx.sqlite:sqlite:2.0.0-rc01
     |         \--- androidx.annotation:annotation:1.0.0-rc01
     +--- androidx.sqlite:sqlite:2.0.0-rc01 (*)
     +--- androidx.arch.core:core-runtime:2.0.0-rc01
     |    +--- androidx.annotation:annotation:1.0.0-rc01
     |    \--- androidx.arch.core:core-common:2.0.0-rc01
     |         \--- androidx.annotation:annotation:1.0.0-rc01
     \--- androidx.legacy:legacy-support-core-utils:1.0.0-rc01
          +--- androidx.annotation:annotation:1.0.0-rc01
          +--- androidx.core:core:1.0.0-rc01
          |    +--- androidx.annotation:annotation:1.0.0-rc01
          |    +--- androidx.collection:collection:1.0.0-rc01
          |    |    \--- androidx.annotation:annotation:1.0.0-rc01
          |    \--- androidx.versionedparcelable:versionedparcelable:1.0.0-rc01
          |         +--- androidx.annotation:annotation:1.0.0-rc01
          |         \--- androidx.collection:collection:1.0.0-rc01 (*)
          +--- androidx.documentfile:documentfile:1.0.0-rc01
          |    \--- androidx.annotation:annotation:1.0.0-rc01
          +--- androidx.loader:loader:1.0.0-rc01
          |    +--- androidx.annotation:annotation:1.0.0-rc01
          |    \--- androidx.core:core:1.0.0-rc01 (*)
          +--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0-rc01
          |    \--- androidx.annotation:annotation:1.0.0-rc01
          \--- androidx.print:print:1.0.0-rc01
               \--- androidx.annotation:annotation:1.0.0-rc01

Module my-lib 只包含了room的依赖,不明白谁会强制2.0.0-rc01

我试图强制2.1.0-alpha02

configurations.all {
    resolutionStrategy {
        force "android.arch.persistence.room:runtime:2.1.0-alpha02"
        force "android.arch.persistence.room:compiler:2.1.0-alpha02"
    }
}

但这对我没有帮助
我通过清理缓存多次重建项目 - 它也没有帮助

我在项目中使用的存储库:

google()
jcenter()
mavenCentral()
  • Gradle 插件是 3.2.1
  • kotlin-gradle-plugin 是 1.2.71
  • 支持库为 28.0.0
  • androidx 在 gradle 属性中启用

有人遇到过这种情况吗?

【问题讨论】:

    标签: android android-gradle-plugin android-room


    【解决方案1】:

    我认为 Room 的 2.1.0-alpha02 版本仅在 AndroidX api 中可用。迁移到 AndroidX 再试一次。

    【讨论】:

    • 1)。 androidx 在 gradle 属性 2) 中启用。看看我发布的包,它们有前缀androidx 这意味着它已启用
    猜你喜欢
    • 2014-01-23
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 2012-07-01
    相关资源
    最近更新 更多