集成PayPal Android Checkout SDK时找不到lifecycle相关依赖如何解决
问题解决方法
报错的核心原因是谷歌生命周期组件拉取失败,以及PayPal SDK与你当前项目的支持库版本存在兼容冲突,按以下步骤操作即可解决:
1. 调整项目级gradle仓库优先级
把谷歌官方仓库放在仓库列表的最前面,确保优先从官方渠道拉取组件,修改后的allprojects配置如下:
allprojects { repositories { // 谷歌官方仓库前置 google() maven { url "https://maven.google.com" } mavenCentral() jcenter() maven { url "https://cardinalcommerceprod.jfrog.io/artifactory/android" credentials { username 'paypal_sgerritz' password 'AKCp8jQ8tAahqpT5JjZ4FRP2mW7GMoFZ674kGqHmupTesKeAY2G8NcmPKLuTxTGkKjDLRzDUQ' } } maven { url 'https://maven.fabric.io/public' } } }
2. 开启Jetifier兼容配置
如果你当前项目使用的是旧版Android Support库(报错里的com.android.support:support-v4:28.0.0属于旧版库),需要在项目根目录的gradle.properties文件中添加以下两行配置,自动完成旧支持库到AndroidX的转换:
android.useAndroidX=true android.enableJetifier=true
如果你的项目已经完成AndroidX迁移,可直接跳过这一步。
3. 排除PayPal SDK的冲突依赖
如果完成前两步后仍然报错,就在app模块的gradle依赖中,给PayPal SDK添加冲突依赖排除规则,手动引入匹配版本的生命周期组件:
// 排除PayPal SDK依赖的旧版生命周期组件 implementation ('com.paypal.checkout:android-sdk:0.2.0') { exclude group: 'android.arch.lifecycle' } // 手动引入对应版本的AndroidX生命周期组件 implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0' implementation 'androidx.lifecycle:lifecycle-runtime:2.1.0'
4. 清理缓存重新构建
所有配置修改完成后,点击Android Studio菜单栏的File -> Invalidate Caches / Restart重启IDE,之后执行Build -> Clean Project清理旧构建缓存,再重新执行构建即可。
内容的提问来源于stack exchange,提问作者Dharini
相关产品推荐
相关产品推荐

