Android 由于OneSignal,无法解析依赖项

Android 由于OneSignal,无法解析依赖项,android,gradle,onesignal,Android,Gradle,Onesignal,我发现了以下问题: 人们把它标为复制品(这是错误的!见下一句),或者写了一些关于Maven或清洁项目的东西 我有完全相同的问题两天(未能解决customtabs和support-v4),我没有改变我的项目中以前工作过的任何内容。所以我开始寻找可能的解决方案,我发现了问题——这是OneSignal依赖性——当我删除它时,一切都正常。但我已经在我的应用程序中实现了通知,现在不知道该怎么办。我试图编译最新的一个(在OneSignal页面上提到) 但结果是一样的。有人能帮忙吗 更新: 这个问题很容易重现

我发现了以下问题: 人们把它标为复制品(这是错误的!见下一句),或者写了一些关于Maven或清洁项目的东西

我有完全相同的问题两天(未能解决customtabs和support-v4),我没有改变我的项目中以前工作过的任何内容。所以我开始寻找可能的解决方案,我发现了问题——这是OneSignal依赖性——当我删除它时,一切都正常。但我已经在我的应用程序中实现了通知,现在不知道该怎么办。我试图编译最新的一个(在OneSignal页面上提到)

但结果是一样的。有人能帮忙吗

更新:

这个问题很容易重现-请创建一个简单的项目,并添加以下提到的依赖项(来自OneSignal官方网站):

更新2:

这些是我的依赖项:

compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.firebase:firebase-auth:10.0.1'
compile 'com.google.firebase:firebase-database:10.0.1'
compile 'com.firebaseui:firebase-ui-database:1.1.0'
compile 'com.android.support:design:25.3.1'
compile 'com.onesignal:OneSignal:[3.6.0, 3.99.99]'
添加

maven {
        url "https://maven.google.com"
    }
gradle解决了OneSignal的问题,但现在我遇到了Firebase的问题:

java.lang.NoSuchMethodError: No static method zzdD(Ljava/lang/String;)Z in class Lcom/google/android/gms/common/util/zzv; or its super classes (declaration of 'com.google.android.gms.common.util.zzv' 

从依赖项中删除“f”。另外,用括号代替。这是一个打字错误

    dependencies {
    compile 'com.onesignal:OneSignal:[3.6.0, 3.99.99]'
}
这段代码在根gradle文件中

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

从依赖项中删除“f”。此外,请使用[括号而不是]。这是一个打字错误

    dependencies {
    compile 'com.onesignal:OneSignal:[3.6.0, 3.99.99]'
}
这段代码在根gradle文件中

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

发生此错误是因为依赖项中存在冲突的库

正如在报告中所说的那样:

自动相关性
OneSignal自动添加以下依赖项

  • com.google.android.gms-版本11
  • com.android.support-版本26
如果遇到以下问题,请确保您的项目与这些版本匹配 不匹配的版本错误

有关更多详细信息,请参阅一节

因此,您需要在项目中删除或使用相同的依赖项,如下所示:

compile 'com.android.support:appcompat-v7:26.0.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.firebase:firebase-auth:11.0.+'
compile 'com.google.firebase:firebase-database:11.0.+'
compile 'com.firebaseui:firebase-ui-database:1.1.0'
compile 'com.android.support:design:26.0.+'
compile 'com.onesignal:OneSignal:[3.6.0, 3.99.99]'

发生此错误是因为依赖项中存在冲突的库

正如在报告中所说的那样:

自动相关性
OneSignal自动添加以下依赖项

  • com.google.android.gms-版本11
  • com.android.support-版本26
如果遇到以下问题,请确保您的项目与这些版本匹配 不匹配的版本错误

有关更多详细信息,请参阅一节

因此,您需要在项目中删除或使用相同的依赖项,如下所示:

compile 'com.android.support:appcompat-v7:26.0.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.firebase:firebase-auth:11.0.+'
compile 'com.google.firebase:firebase-database:11.0.+'
compile 'com.firebaseui:firebase-ui-database:1.1.0'
compile 'com.android.support:design:26.0.+'
compile 'com.onesignal:OneSignal:[3.6.0, 3.99.99]'


发布gradle files root和apppost gradle files root和app这是在问题中意外编写的,谢谢您的发布,现在我更正了它。依赖项在项目中是正确的,因此您的答案没有帮助。请参阅其键入编译'com.onesignal:onesignal:[3.6.0,3.99.99f99])使用[],而不是[)?我说这只是在问题中正确地放置了字符!项目中的依赖项与您编写的完全相同。这与此无关。请参阅官方文档-必须有[开头和结尾]这是在问题中意外写的,谢谢你的发布,现在我更正了它。依赖项在项目中是正确的,因此你的答案没有帮助。请参阅其键入编译'com.onesignal:onesignal:[3.6.0,3.99.99f99])使用[],而不是[)?我说这只是在问题中正确地放置了字符!项目中的依赖项与您编写的完全相同。这与此无关。请参阅官方文档-必须有[开头和结尾)他已经在使用相同版本的firebase dependenciesCan我可以将其与另一个版本的支持库(例如26.0.0-alpha1)一起添加吗?我认为可以,但您需要在中排除支持库。类似于
compile('com.onesignal:onesignal:[3.6.0,3.99.99]){exclude group:'com.android.support',module:'appcompat-v7'}
他已经在使用相同版本的firebase dependenciesCan我可以将其添加到另一个版本的支持库中,例如26.0.0-alpha1吗?我认为可以,但需要在中排除支持库。类似于
compile('com.onesignal:onesignal:[3.6.0,3.99.99]'{排除组:'com.android.support',模块:'appcompat-v7'}