我正在尝试在项目中添加Firebase,但是当我实现'com.google.firebase:firebase-messaging:19.0.0'
和'com.google.firebase:firebase-core:17.0.0'
时。
build.gradle
(这是错误)
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.user.mikripoli"
minSdkVersion 15
targetSdkVersion 28
multiDexEnabled true
versionCode 1
versionName "1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
dexOptions {
javaMaxHeapSize "2g"
}
}
dependencies {
implementation 'com.roughike:bottom-bar:2.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:exifinterface:28.0.0'
implementation 'com.android.support:animated-vector-drawable:28.0.0'
implementation 'com.flaviofaria:kenburnsview:1.0.7'
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:design:28.0.0'
implementation 'com.github.chrisbanes:PhotoView:2.1.4'
implementation 'com.google.firebase:firebase-messaging:19.0.0'
implementation 'com.google.firebase:firebase-core:17.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-
core:3.0.2'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation "com.google.android.gms:play-services-location:17.0.0"
implementation 'com.google.android.gms:play-services-maps:17.0.0'
implementation 'com.google.android.gms:play-services-base:17.0.0'
implementation 'com.github.ahmedshaban1:EasySlider:1.0.0'
implementation 'com.liangfeizc:SlidePageIndicator:1.1.0@aar'
implementation 'me.relex:circleindicator:1.2.2@aar'
implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
}
另一个gradle文件:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.1'
classpath 'com.google.gms:google-services:4.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
mavenCentral()
jcenter()
maven {
url "https://maven.google.com"
}
maven { url "https://jitpack.io" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
显示的关于com.android.support:support-v4:28.0.0
的错误:
使用groupId com.android.support和androidx。*的依赖项不能 被合并但被发现 IdeMavenCoordinates {myGroupId ='com.android.support', myArtifactId ='cardview-v7',myVersion = '28 .0.0',myPacking ='aar', myClassifier ='null'}和 IdeMavenCoordinates {myGroupId ='androidx.coordinatorlayout', myArtifactId ='coordinatorlayout',myVersion ='1.0.0',myPacking ='aar', myClassifier ='null'}不兼容的依赖项
检查信息:有一些库或工具的组合, 不兼容的库,或可能导致错误的库。一个这样的 不兼容版本与Android支持版本一起编译 不是最新版本(或特别是版本)的库 低于您的targetSdkVersion。
也,当我构建apk时,也会显示此错误:
清单合并失败:属性application @ appComponentFactory 值=(android.support.v4.app.CoreComponentFactory)来自 [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91也位于 [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 值=(androidx.core.app.CoreComponentFactory)。意见建议:添加 'tools:replace =“ android:appComponentFactory”'转换为元素 在AndroidManifest.xml:13:5-354:19进行覆盖。
添加工具:replace =“ android:appComponentFactory”无效
答案 0 :(得分:5)
在新版本中,库从Android支持库迁移到Jetpack(AndroidX)库。
除非您在应用中进行以下更改,否则更新的库将无法工作:
将com.android.tools.build:升级到v3.2.1或更高版本。
将compileSdkVersion升级到28或更高版本。
更新您的应用程序以使用Jetpack(AndroidX);请按照Migrating to AndroidX中的说明进行操作。
方法1:
将这两个添加到gradle.properties文件中,而无需更新任何内容
android.useAndroidX=true
android.enableJetifier=true
方法2
如果方法1不能解决您的问题 做一件事 如果您使用的是Android Studio 3.2或更高版本 转到 Refactor>迁移到AndroidX ...
答案 1 :(得分:2)
将那些1.0
依赖项降级-或将migrate降级为edges = linspace(0, 1, 10);
[X, Y] = meshgrid(edges);
Z = rand(10);
cm(:, :, 1) = (X + Y); % Red channel
cm(:, :, 2) = 2 - cm(:, :, 1); % Green channel
cm(:, :, 3) = zeros(size(X)); % Blue channel (empty)
h = surf(X, Y, Z, cm); % No need for the FaceColor property
。
Jetifier相当无用,因为可以控制 own 依赖项。
答案 2 :(得分:1)
您同时使用了支持库和androidx库,但您做不到。
Cloud Messaging版本 19.0.0 已于6月发行。检查Firebase库的official release notes:
此版本是主要版本的更新,其中包含重大更改。 在此版本中,库已从Android支持库迁移到Jetpack(AndroidX)库。 除非您在应用中进行以下更改,否则更新的库将无法工作:
com.android.tools.build:gradle
升级到v3.2.1
或更高版本。compileSdkVersion
升级到28
或更高版本。答案 3 :(得分:1)
根据firebase site解决此问题:
android.useAndroidX=true
中添加以下两行来完成此操作:android.enableJetifier=true
和gradle.properties
。或者您可以another method com.android.tools.build:gradle
升级到v3.2.1或更高版本(在项目build.gradle
文件中)compileSdkVersion
升级到28或更高版本(在项目build.gradle
文件中)答案 4 :(得分:0)
28.0.0是原始支持库的最新版本,这些不再维护。支持库中提供的所有功能现在已成为AndroidX名称空间的一部分,Google建议您迁移到AndroidX。
在Android Studio 3.2及更高版本中,您可以执行Refactor->Migrate to AndroidX
但是请注意,如果您对配置进行了专门化,则可能需要手动进行一些更改。
以下是该主题的video和official documentation
答案 5 :(得分:-1)
尝试此操作并同步您的项目,如果这可以帮助您
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'