我最近更新了我的Android Studio(我很确定是Gradle版本),现在我在尝试编译我的项目时遇到了一堆错误。下面是目前困扰我的一个:
Duplicate class android.support.v4.app.INotificationSideChannel found in modules classes.jar (androidx.core:core:1.0.1) and classes.jar (com.android.support:support-compat:26.1.0)
这是许多类似的事情。
我尝试删除所有使用com.android.support
的androidx(参见here,了解我使用的替换内容),但com.android.support
库仍然在使用,即使我删除了库(它们只是在我再次尝试编译时重新制作)。
Here's一个链接到我得到的完整错误。
6条答案
按热度按时间falq053o1#
将这些行添加到
gradle.properties
如果不存在
gradle.properties
,则在项目的根目录中创建该文件。看起来你的依赖项中有一些
support
的遗迹,可能来自一个lib?要调查和查看依赖项树,请运行:然后你就能看到它的来源。
4ioopgfo2#
在您的应用
build.gradle
中,您混合使用了旧支持库和新支持库工件。请从您的build.gradle
中删除其中一个工件以解决此问题。老神器:
com.android.support:support-compat
对应的新伪影:
androidx.core:core:1.0.0
参见this page for more information on migrating to AndroidX。
pxiryf3j3#
就像其他人说的,解决方案是迁移到AndroidX,它为我工作.然而,这不是一个简单的方法,它需要一点平静...这些是我做的步骤:
和
destination file("$reportsDir/checkstyle/checkstyle.xml")
qf9go6mv4#
这个解决方案对我来说是最好的。迁移到androidX
https://developer.android.com/jetpack/androidx/migrate
在Android Studio 3.2及更高版本中,您可以通过从菜单栏中选择Refactor〉Migrate to AndroidX将现有项目迁移到AndroidX。
refactor命令使用了两个标志。默认情况下,在www.example.com文件中,这两个标志都设置为truegradle.properties:
android.useAndroidX=true
Android插件使用适当的AndroidX库而不是支持库。android.enableJetifier=true Android插件通过重写现有第三方库的二进制文件,自动迁移现有第三方库以使用AndroidX。7d7tgy0s5#
如果您在使用Facebook中介和Google广告库后遇到任何关于重复类的问题,请按照以下步骤操作:
1-在顶部的build.gradle(Module)中添加此内容
2-在build.gradle(Module)-〉android中添加此内容
3-在build.gradle(Module)-〉dependencies中添加此内容
4-在build.gradle(Project)-〉buildscript-〉dependencies中添加此内容
5-在gradle.wrapper.propertise中添加此内容
yk9xbfzb6#
我在我的离子项目中也遇到了同样的问题,在卸载androididersupportiderv 4和build应用程序后运行良好,没有任何问题。
除此之外,在你的gradle中有这些属性
android.useAndroidX=true android. enableJetier =true
如果你想迁移到androidx,你可以通过Refactor -〉Migrate to AndroidX来实现。
成功地建造。