突然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文件被误删了谷歌
有没有人有任何想法,发生了什么?
这些是我的等级文件:-
项目:-
// 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
我'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
我正在使用 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
我写了一个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
我需要一个依赖项,它的 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) 我有一个带有这个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
我有三个gradle
项目。说ProjectA
,ProjectB
和ProjectC
。
ProjectC
依赖于ProjectA
和ProjectB
。虽然ProjectB
依赖于ProjectA
.
所以ProjectC
的build.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
声明ProjectA
inProjectC
的构建文件?
因为,我添加ProjectB
, 不ProjectA
应该被自动包含,因为ProjectB
它依赖于ProjectA
?
换句话说,为什么以下不适用于ProjectC
?
dependencies {
implementation project(':ProjectB')
}
Run Code Online (Sandbox Code Playgroud)
我是新手gradle
,因此试图了解 Project 工作之间的依赖关系管理。
编辑:
所以我想把ProjectB
build.gradle 改成下面的:
dependencies {
api project(':ProjectA') …
Run Code Online (Sandbox Code Playgroud) 我目前正在将应用程序从 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
非常接近这个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)
意思?
android ×6
gradle ×5
aar ×1
build.gradle ×1
crashlytics ×1
firebase ×1
gradlew ×1
java ×1
kotlin ×1
pom.xml ×1
preview ×1
support-v4 ×1