项目正在成功运行。在那里实施了GCM。现在,我想从GCM迁移到FCM。经过一些更改后,现在我无法运行我的应用。
为gradle添加了两个依赖项
implementation 'com.google.firebase:firebase-core:16.0.8'
implementation 'com.google.firebase:firebase-messaging:17.6.0'
并删除了这个
implementation "com.google.android.gms:play-services-gcm:17.0.0"
还在清单中为FCM添加了服务。现在,当我开始构建时,该项目将出现如下错误:注意:该项目还具有其他两个模块。
Android resource linking failed
Output: E:\path\to\project\App\app\build\intermediates\incremental\mergeProductionReleaseResources\merged.dir\values\values.xml:1161: error: resource android:attr/fontVariationSettings not found.
E:\path\to\project\App\app\build\intermediates\incremental\mergeProductionReleaseResources\merged.dir\values\values.xml:1161: error: resource android:attr/ttcIndex not found.
error: failed linking references.
Command: C:\Users\uname\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\b5fb2115ff6c1237ef65ed02d6f32cff\aapt2-3.2.1-4818971-windows\aapt2.exe link -I\
E:\path\android-studio-windows\sdk\platforms\android-27\android.jar\
--manifest\
E:\path\to\project\App\app\build\intermediates\merged_manifests\productionRelease\processProductionReleaseManifest\merged\AndroidManifest.xml\
-o\
E:\path\to\project\App\app\build\intermediates\processed_res\productionRelease\processProductionReleaseResources\out\resources-productionRelease.ap_\
-R\
@E:\path\to\project\App\build\intermediates\incremental\processProductionReleaseResources\resources-list-for-resources-productionRelease.ap_.txt\
--auto-add-overlay\
--java\
E:\path\to\project\App\app\build\generated\not_namespaced_r_class_sources\productionRelease\processProductionReleaseResources\r\
--proguard-main-dex\
E:\path\to\project\App\build\intermediates\legacy_multidex_aapt_derived_proguard_rules\productionRelease\processProductionReleaseResources\manifest_keep.txt\
--custom-package\
com.okulyst.vehicle\
-0\
apk\
--output-text-symbols\
E:\path\to\project\App\app\build\intermediates\symbols\production\release\R.txt\
--no-version-vectors
Daemon: AAPT2 aapt2-3.2.1-4818971-windows Daemon #0
我尝试了许多解决方案,检查了我的xml文件,但没有一个起作用! 错误的fontVariationSettings和ttcIndex是什么?如何检查?
任何帮助将不胜感激!
答案 0 :(得分:1)
经过太多的尝试和努力,现在我可以运行我的应用程序了。
实际上,该错误是由于com.google.android.gms:play-services-analytics
和com.google.firebase:firebase-core
依赖项之间的冲突引起的。
1)保留所有com.google.android.gms:play-services
依赖项的相同版本
2)在应用程序级别gradle中添加/保留apply plugin: 'com.google.gms.google-services'
3)在gradle.properties中添加android.useAndroidX=true
和android.enableJetifier=true
4)在项目级别gradle的最新版本中添加/保留classpath 'com.google.gms:google-services'
5)删除所有com.android.support:appcompat-v7
依赖项
,最后使用androidx控件更改了所有xml和java文件。这是更改列表,您可以从中轻松使用查找和替换。
/*android.support.design.widget.CoordinatorLayout
androidx.coordinatorlayout.widget.CoordinatorLayout
android.support.design.widget.AppBarLayout
com.google.android.material.appbar.AppBarLayout
android.support.design.widget.TextInputLayout
com.google.android.material.textfield.TextInputLayout
android.support.v7.widget.Toolbar
androidx.appcompat.widget.Toolbar
android.support.v7.widget.RecyclerView
androidx.recyclerview.widget.RecyclerView
android.support.v4.widget.DrawerLayout
androidx.drawerlayout.widget.DrawerLayout
android.support.design.widget.NavigationView
com.google.android.material.navigation.NavigationView
android.support.v7.widget.AppCompatButton
androidx.appcompat.widget.AppCompatButton
android.support.v7.widget.CardView
androidx.cardview.widget.CardView
android.support.design.widget.CollapsingToolbarLayout
com.google.android.material.appbar.CollapsingToolbarLayout
android.support.v4.widget.NestedScrollView
androidx.core.widget.NestedScrollView
android.support.design.widget.TabLayout
com.google.android.material.tabs.TabLayout
android.support.v4.view.ViewPager
androidx.viewpager.widget.ViewPager*/