所以我一直在尝试使用GraphView。我已将其导入到我的依赖项中,但是由于某种原因,我遇到了依赖项解析错误。这是我的app / build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.myapplication"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'android.arch.lifecycle:extensions:1.1.1'
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.getbase:floatingactionbutton:1.10.1'
implementation 'org.jetbrains:annotations-java5:15.0'
implementation 'com.jjoe64:graphview:4.2.2'
}
但是当我尝试运行该应用程序时,构建失败并且出现以下错误:
"Duplicate class com.jjoe64.graphview.GraphView found in modules GraphView-3.0.jar (GraphView-3.0.jar) and classes.jar (com.jjoe64:graphview:4.2.2)
Duplicate class com.jjoe64.graphview.GraphView$1 found in modules GraphView-3.0.jar (GraphView-3.0.jar) and classes.jar (com.jjoe64:graphview:4.2.2)
转到文档以了解如何解决依赖关系解决错误。”
“实施'com.android.support:appcompat-v7:28.0.0'”行显示错误,并声称我同时使用28.0.0版和27.1.1版。
我想念什么?
答案 0 :(得分:1)
由于两个库使用同一类,可能会出现问题。在这种情况下,它是GraphView-3.0.jar
。编译器无法选择需要使用哪一个。因此,您可以在一个库中删除此.jar,然后尝试使用它。
否则,您可以只使用支持库appcompat-v7:27.1.1
的版本,然后这两个库将使用相同的版本,并且不会有任何冲突。
此处描述了类似的问题和可能的解决方案:link
答案 1 :(得分:1)
似乎您已经更新了库版本。对于从3.0到4.2.2的graphview与appcompat相同。但是gradle由于某种原因无法删除旧库。因此,它试图将两个库都添加到类路径中。
尝试清理并构建项目。如果不起作用,请清除gradle缓存并重建。如果仍然无法使用,请手动找到旧的jar并删除。
答案 2 :(得分:0)
您可以将以下几行添加到您的 gradle.properties 文件中:(如果有就不要重复)
android.useAndroidX=true android.enableJetifier=true