记录一个AndroidX和Android support库不能共存的坑

今天用到第三方库的时候一直报异常More than one file was found with OS independent path ‘META-INF/androidx.legacy_legacy-support-core-utils.version‘

谷歌了一下找到方法需要在app.gradle文件里面android节点下添加这样的代码

       packagingOptions {
            exclude ‘META-INF/XXX‘
           exclude ‘META-INF/XXX‘
           exclude ‘META-INF/XXX‘
            exclude ‘META-INF/XXX‘
        }

于是手动添加后同步,发现报相同的异常More than one file was found with OS independent path ‘META-INF/androidx.loader_loader.version‘

我想着也就两三个文件,于是保持耐心一个个添加,直到加到十几个的时候我崩溃了。

整理思路,一定有别的方法。

问题出现在我添加PhotoView的依赖之后,第三方库implementation ‘com.github.chrisbanes:PhotoView:latest.release‘引用了最新版本Androidx,而Androidx和Android support库不能共存

考虑到我的项目不依赖于AndroidX,我选择回退PhotoView依赖库的版本到2.1.4,问题完美解决。

https://www.jianshu.com/p/f7a7a8765294 该文章讲述的更加具体,给了我很大帮助。

原文地址:https://www.cnblogs.com/machach/p/10243528.html

时间: 2024-11-10 15:59:16

记录一个AndroidX和Android support库不能共存的坑的相关文章

Android Support库百分比布局

之前写过一篇屏幕适配的文章Android 屏幕适配最佳实践,里面提到了类似百分比布局的东西,但是该方法缺点很明显,就会增加很多无用的数据,导致apk包变大. 而谷歌的support库中,增加了一个叫做percent库,该库在如图目录下,如果没有,请使用sdk manager更新至最新 在使用前,我们先看下这个库有哪些类 很显里面有一个FrameLayout布局的子类和RelativeLayout布局的子类,此外还有一个Helper类,这个Helper类主要是完成百分比的测量工作,里面有一个接口P

【记录一个问题】android下的ucontext协程,因为使用栈上的对象,导致cv::Mat被莫名析构

工作的流程是这样:某个协程在栈上创建task对象,在task对象内有需要返回的cv::Mat. 然后把task放到另一个线程上去执行,然后切换到别的协程,等到工作线程执行完task后,再唤醒协程. 这时候协程内去访问cv::Mat使用是empty. 同样的代码,task对象不是在栈上创建,而是new出来,一切正常. 暂未找到原因,怀疑与栈的拷贝有关.其实也打印了使用各个阶段的指针的地址,发现地址未发生改变. 原文地址:https://www.cnblogs.com/ahfuzhang/p/116

【记录一个问题】android ndk下设置线程的亲缘性,总有两个核无法设置成功

参考了这篇文章:https://blog.csdn.net/lanyzh0909/article/details/50404664 大体的代码如下: #include <pthread.h> #include <sched.h> #include <stdio.h> #include <stdlib.h> #include <sys/sysinfo.h> #include <sys/types.h> #include <unis

android:Program type already present: android.support.v4.app.INotificationSideChannel

背景 这个错误的原因是:androidx和 android.support同时存在. 首先,网上有很多解答说这样处理: 在 gradle.properties 添加: android.useAndroidX=true android.enableJetifier=true 然后再build.gradle 中添加这个: implementation "androidx.room:room-runtime:2.0.0-alpha1" annotationProcessor "an

[android]com.android.support:appcompat-v7:XXX 包导入无法Build

在学习<Android编程权威指南>时,按书中要求添加com.android.support:appcompat的依赖,然后编译不通过,提示如下问题: 大概意思是,Android Pie之前支持这个库,我们建议迁移到AndroidX libraries…… 然后搜索了一下,原来2018年google开发者大会以后,相关库已经整合到AndroidX库中,这里放一个链接:(别人的说明) 1. AndroidX变化 1)常用依赖库对比: Old build artifact AndroidX bui

安卓android.support.design使用中的问题

这几天更新sdk,看到support更新到23.1.1了,加入新的design库,于是下载来看看怎么用,按照以前的方法我是把v7包中的类都复制到当前workspace,然后在使用过程中发现了不少问题,特此做下记录: 1.android.support.design库依赖android.support.v7.appcompat库 2.android.support.design使用时包含了android.support.v7.appcompat库,所以在项目中进行引用时不能同时引用,否则报错(一步

Android图表库MPAndroidChart(一)——了解他的本质,方能得心应手

Android图表库MPAndroidChart(一)--了解他的本质,方能得心应手 我们项目中经常会遇到一些统计图,比如折线图,线形图等,在一些运动健康类的App中尤其的常见,这画起来要命,我以前就是自己手撸了这么多,但是撸完却并没有很深的感悟i,感觉,自己白撸了一样,懊恼,经常去搜索,Google也好,百度也罢,都是些标题党,什么最简单的,一招怎么怎么的,我看了半天愣是连文笔的逻辑的没看明白,主要还是排版实在是感人,本来以为现在转站系统之后接触的,应该是一大堆源码和终端,谁知道又临时调到Ap

Android:你好,androidX!再见,android.support

190325 补充:莫名问题的解决 181106 补充:修改未迁移成功的三方库 1.AndroidX简介 点击查看Android文档中对androidx的简介 按照官方文档说明 androidx 是对 android.support.xxx 包的整理后产物.由于之前的support包过于混乱,所以,google推出了 androidX. 由于在后续版本中,会逐步放弃对support 的升级和维护,所以,我们必须迁移到 androidX.对此,官方描述如下: Existing packages,

毕加索的艺术——Picasso,一个强大的Android图片下载缓存库,OkHttpUtils的使用,二次封装PicassoUtils实现微信精选

毕加索的艺术--Picasso,一个强大的Android图片下载缓存库,OkHttpUtils的使用,二次封装PicassoUtils实现微信精选 官网: http://square.github.io/picasso/ 我们在上篇OkHttp的时候说过这个Picasso,学名毕加索,是Square公司开源的一个Android图形缓存库,而且使用起来也是非常的简单,只要一行代码就轻松搞定了,你会问,为什么不介绍一下Glide?其实Glide我有时间也是会介绍的,刚好上篇我们用到了Picasso,