标签: gradle-dependencies

Android gradle无法解决:play-services-basement

突然gradle无法构建刚刚工作的相同代码!我的项目取决于谷歌播放服务依赖项

它说 :

找不到play-services-basement.aar(com.google.android.gms:play-services-basement:15.0.1).在以下位置搜索:https: //jcenter.bintray.com/com/google/android/gms/play-services-basement/15.0.1/play-services-basement-15.0.1.aar

我认为aar文件被误删了谷歌

有没有人有任何想法,发生了什么?

android google-play-services gradle-dependencies

46
推荐指数
2
解决办法
1万
查看次数

无法解析配置“:app:debugRuntimeClasspath”的所有文件。在 android studio Chipmunk 中添加新的依赖项时

这些是我的等级文件:-

项目:-

// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
    id 'com.android.application' version '7.2.1' apply false
    id 'com.android.library' version '7.2.1' apply false
    id 'org.jetbrains.kotlin.android' version '1.7.0' apply false
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)

模块:-

plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
}

android {
    compileSdk 32

    defaultConfig {
        applicationId "com.ka"
        minSdk 25
        targetSdk 32
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' …
Run Code Online (Sandbox Code Playgroud)

android build.gradle android-gradle-plugin gradle-dependencies android-studio-chipmunk

26
推荐指数
2
解决办法
9万
查看次数

Android:强制gradle只包含一个版本的库

'com.android.support:support-v4:23.3.0'在使用我的build.gradle但是在探索外部库时,我看到了两个版本的support-v4库(23.3.0和24.0.0).如何找到哪个依赖项使用support-v4:24.0.0库?如何强制gradle只添加版本23.3.0?

外部图书馆图像

这是我在build.gradle中的依赖列表:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile 'com.android.support:support-v4:23.3.0'
    compile 'com.android.support:design:23.3.0'
    compile 'com.android.support:recyclerview-v7:23.3.0'
    compile 'com.android.support:cardview-v7:23.3.0'
    compile ('com.nightonke:wowoviewpager:1.0.2') {
        exclude group: 'com.android.support', module:'support-v4'
    }
    compile ('com.j256.ormlite:ormlite-android:5.0'){
        exclude group: 'com.android.support', module:'support-v4'
    }
    compile files('libs/picasso-2.5.2.jar')
    compile files('libs/easyandroidanimationslibrary-v0.5.jar')
    compile files('libs/apache-httpcomponents-httpclient.jar')
    compile files('libs/apache-httpcomponents-httpcore.jar')
    compile 'co.ronash.android:pushe-base:1.2.0'
    compile 'com.google.android.gms:play-services-gcm:9.4.0'
    compile('com.github.ozodrukh:CircularReveal:2.0.1@aar') {
        transitive = true;
    }
    compile files('libs/btsdk.jar')
    compile project(':zxing_barcode') // this project include the same version of support-v4 library
    compile project(':cropper')// this project include the same version of support-v4 …
Run Code Online (Sandbox Code Playgroud)

android gradle android-studio support-v4 gradle-dependencies

18
推荐指数
1
解决办法
2万
查看次数

Kotlin Compose 预览参考未解决

我正在使用 Compose 开发适用于 Android 和桌面的 Kotlin 多平台项目,并安装了 Compose 多平台 IDE 支持插件。

我想做的是添加注释,@Preview以便我可以预览我正在处理的可组合项。我尝试按照本指南来实现:

https://developer.android.com/jetpack/compose/tooling/studio

我希望在 module 中拥有共享的 Compose 类shared-ui,因此我在该 module 中添加了以下依赖项build.gradle.kts

dependencies {
    debugImplementation("androidx.compose.ui:ui-tooling:1.3.2")
    implementation("androidx.compose.ui:ui-tooling-preview:1.3.2")
}
Run Code Online (Sandbox Code Playgroud)

但是,即使在同步之后,当我尝试@Preview在类 ( shared-ui/src/commonMain/kotlin/.../MyScreen.kt) 中使用或导入注释时,也会收到此错误:

Unresolved reference: preview
Run Code Online (Sandbox Code Playgroud)

这种情况发生两次:一次是在 import 语句中,最后一个单词Preview是红色的;一次是在注释中,它也是Preview红色的单词:

[...]
import androidx.compose.ui.tooling.preview.Preview
[...]

@Preview
@Composable
[...]
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我还尝试了 Android Studio 为我提供的快速修复选项:“添加对 androidx.compose.ui.ui-tooling-preview 和导入的依赖”。它所做的就是将依赖项准确添加到我添加它们的位置(前提是我先删除它们,否则它什么也不做),这显然意味着 Android Studio 同意我的观点,这就是依赖项应该去的地方。

这引出了我的终极问题:为什么这不起作用?我究竟做错了什么?根据我的理解,这应该可行。但事实并非如此。我错过了什么吗?

preview kotlin android-studio gradle-dependencies android-jetpack-compose

11
推荐指数
0
解决办法
1312
查看次数

Gradle:下载包含aar-library的依赖项

我写了一个cameraBarcodeScanner内置在aar文件中的库项目.此库在其build.gradle中定义了以下依赖项:

dependencies {
 compile fileTree(dir: 'libs', include: ['*.jar'])
 testCompile 'junit:junit:4.12'
 compile 'com.android.support:appcompat-v7:23.1.0'
 compile 'com.google.zxing:core:3.2.1'
 compile 'com.journeyapps:zxing-android-embedded:3.2.0@aar'
}
Run Code Online (Sandbox Code Playgroud)

我在测试应用程序中使用该库,如下所示:

dependencies {
 compile(name: 'cameraBarcodeScanner-release', ext: 'aar')
}
Run Code Online (Sandbox Code Playgroud)

Gradle找到应用程序并能够构建它.但是,在运行时,android无法找到位于其中的类zxing-android-embedded.在我看来,gradle没有下载库项目的依赖项.我也尝试过:

dependencies {
 compile(name: 'cameraBarcodeScanner-release', ext: 'aar'){
  transitive = true
}
Run Code Online (Sandbox Code Playgroud)

但这也没有帮助.我是否必须以某种方式公开库的依赖项?您将如何使用库并使gradle下载其依赖项?

提前致谢!

android gradle android-gradle-plugin aar gradle-dependencies

10
推荐指数
1
解决办法
2738
查看次数

如何忽略坏的 pom '不一致的模块描述符'(版本)

我需要一个依赖项,它的 pom.xml 文件中的版本号不一致。

Apache XmlSchema-Pom 的版本SNAPSHOT显然不正确,因为它应该是1.1

根据此gradle 讨论,如果 maven 存储库指定为常春藤存储库,添加@jar或添加transitive = false到依赖项,则所有这些对我都不起作用

build.gradle是我的尝试:

group 'de.company'
version '1.0-SNAPSHOT'

apply plugin: 'maven'
apply plugin: 'java'

repositories {
    // specified as ivy repo
    // ivy {
    //     url = mavenCentral().url
    // }
    mavenCentral()
}

dependencies {
    // with @jar and transitive
    // compile (group: 'org.apache.ws.commons', name: 'XmlSchema', version: '1.1', ext: 'jar') {
    //     transitive = false
    // }
    compile group: …
Run Code Online (Sandbox Code Playgroud)

gradle pom.xml gradle-dependencies

10
推荐指数
2
解决办法
5551
查看次数

无法解决:support-compat仅适用于:27.1.1

我有一个带有这个build.gradle文件的android模块:

apply plugin: 'com.android.library'

android {
        compileSdkVersion 27

        defaultConfig {
                minSdkVersion 14
                targetSdkVersion 27
                versionCode 1
                versionName "1.0.0"
        }
}

dependencies {
        implementation 'com.android.support:support-compat:27.1.1'
}
Run Code Online (Sandbox Code Playgroud)

并且在Gradle同步过程中收到此错误:

无法解决:support-compat

我使用的依赖项标识符完全符合https://developer.android.com/topic/libraries/support-library/packages#v4-compat(当我写这个问题时).

有趣的是,问题27.1.1在于版本!我测试的所有其他版本(24.2.0,26.0.0,27.0.0甚至27.1.0)都OK.

此外,我从此版本(27.1.1)测试的所有其他支持库都可以.这里列出了它们:

implementation 'com.android.support:appcompat-v7:27.1.1' 
implementation 'com.android.support:gridlayout-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:support-v4:27.1.1' 
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:support-annotations:27.1.1'
Run Code Online (Sandbox Code Playgroud)

Screanshot:

在此输入图像描述

如果我在app模块或library模块中插入依赖项没有区别.


我的项目级build.gradle文件:

buildscript {
    repositories {
        jcenter() …
Run Code Online (Sandbox Code Playgroud)

android android-support-library dependency-resolution gradle-dependencies

7
推荐指数
2
解决办法
3645
查看次数

Gradle 多项目传递依赖

我有三个gradle项目。说ProjectAProjectBProjectC

ProjectC依赖于ProjectAProjectB。虽然ProjectB依赖于ProjectA.

所以ProjectCbuild.gradle有下面几行:

dependencies {
  implementation project(':ProjectA')
  implementation project(':ProjectB')
}
Run Code Online (Sandbox Code Playgroud)

并且ProjectB'sbuild.gradle具有以下内容:

dependencies {
  implementation project(':ProjectA')
}
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么我需要显式implementation声明ProjectAinProjectC的构建文件?

因为,我添加ProjectB, 不ProjectA应该被自动包含,因为ProjectB它依赖于ProjectA?

换句话说,为什么以下不适用于ProjectC

dependencies {
  implementation project(':ProjectB')
}
Run Code Online (Sandbox Code Playgroud)

我是新手gradle,因此试图了解 Project 工作之间的依赖关系管理。


编辑:

所以我想把ProjectBbuild.gradle 改成下面的:

dependencies {
  api project(':ProjectA') …
Run Code Online (Sandbox Code Playgroud)

java gradle gradle-dependencies

7
推荐指数
2
解决办法
2392
查看次数

CrashlyticsInitProvider 跳过初始化

我目前正在将应用程序从 Fabric 迁移到 Firebase Crashlytics,在更新了官方文档中所述的所有不同库后,我收到一条日志消息,指出 Crashlytic 初始化已被跳过:

09-12 10:13:40.120 19176-19176/com.random.migratedApp I/CrashlyticsInitProvider: CrashlyticsInitProvider skipping initialization
Run Code Online (Sandbox Code Playgroud)

并且该应用程序无法连接到 Firebase 控制台。

在与代码搏斗了几个小时后,我决定从头开始制作一个快速应用程序,以查看我的系统或库是否存在问题,但一切正常,获得正确的初始化并能够看到 Firebase 中的崩溃安慰。

09-12 10:11:31.852 18414-18414/com.test.appFromScratch I/CrashlyticsCore: Initializing Crashlytics Core 2.7.0.33
09-12 10:11:31.897 18414-18414/com.test.appFromScratch I/CrashlyticsInitProvider: CrashlyticsInitProvider initialization successful
Run Code Online (Sandbox Code Playgroud)

我想知道我是否可能与可能阻止 Crashlytics 成功初始化的依赖项之一不兼容,但我无法弄清楚这里可能存在什么问题。在这里您可以看到我的应用程序依赖项列表:

ext {
     playServicesLibrary = '17.0.0'
     glideLibrary = '4.8.0'
     androidXDependencies = [
        androidXAnnotation: "androidx.annotation:annotation:1.0.0",
        constraintLayout  : 'androidx.constraintlayout:constraintlayout:1.1.2',
        vectorDrawable    : "androidx.vectordrawable:vectordrawable:1.0.0",
        recyclerView      : "androidx.recyclerview:recyclerview:1.0.0",
        roomRuntime       : 'androidx.room:room-runtime:2.1.0-rc01',
        androidXV13       : "androidx.legacy:legacy-support-v13:1.0.0",
        preference        : "androidx.preference:preference:1.1.0-alpha04",
        customtabs        : "androidx.browser:browser:1.0.0",
        appCompat         : "androidx.appcompat:appcompat:1.0.0",
        cardView          : "androidx.cardview:cardview:1.0.0", …
Run Code Online (Sandbox Code Playgroud)

android firebase crashlytics crashlytics-android gradle-dependencies

7
推荐指数
1
解决办法
1573
查看次数

gradle 依赖 (c) 和 (n) 是什么意思?

非常接近这个SO帖子,并在评论中询问,但不清楚。

$ git clone https://github.com/k9mail/k-9.git
$ cd k-9/mail/protocols/smtp
$ ../../../gradlew dependencies | grep "4.7.1 (\*)\|4.7.1 (c)\|4.7.1 (n)" | sort -u
+--- com.jakewharton.timber:timber:4.7.1 (*)
+--- com.jakewharton.timber:timber:4.7.1 (n)
+--- com.jakewharton.timber:timber:{strictly 4.7.1} -> 4.7.1 (c)
Run Code Online (Sandbox Code Playgroud)

(c)和后缀是什么(n)意思?

gradle gradlew gradle-dependencies

7
推荐指数
1
解决办法
4902
查看次数