无法使用Android MoPub sdk gradle初始化Fabric

时间:2015-10-28 16:45:23

标签: android android-studio libgdx mopub

我正在尝试将MoPub SDK添加到我的libgdx游戏中。我使用gradle集成似乎工作。但是我无法使用新的MoPub()对象提供Fabric。我使用android studio 1.2.1.1。并遵循https://github.com/mopub/mopub-android-sdk

的要求
Fabric.with(this, new Crashlytics(), new MoPub());

返回andoid studio:

Error:(89, 15) error: method with in class Fabric cannot be applied to given types;
required: Context,Kit[]
found: AndroidLauncher,Crashlytics,MoPub
reason: varargs mismatch; MoPub cannot be converted to Kit

由于某种原因,MoPub对象无法识别为正确的类型。我不明白为什么。

这是我的gradle文件的样子:

repositories {
    jcenter()
    maven { url 'https://maven.fabric.io/public' }
}

configurations { natives }

dependencies {
    compile project(":core")

    compile files('libs/mopub-volley-1.1.0.jar')
    compile files('libs/android-support-v7-recyclerview.jar')
    compile files('libs/annotations-4.1.1.4.jar')
    compile files('libs/android-support-v4.jar')

    compile('com.mopub:mopub-sdk:4.0.0@aar') {
        transitive = true
    }
    compile('com.crashlytics.sdk.android:crashlytics:2.2.2@aar') {
        transitive = true;
    }

3 个答案:

答案 0 :(得分:4)

MoPub不是套件(不会扩展套件)。您不需要将其添加到您的Fabric.with()调用中。只要您的权限和依赖关系正确,您就可以开始使用它。重申一下;只是改变这个:

Fabric.with(this, new Crashlytics(), new MoPub());

到此:

Fabric.with(this, new Crashlytics());

请注意,我假设this是有效的Context对象。

答案 1 :(得分:2)

更改此

compile('com.mopub:mopub-sdk:4.0.0@aar') {
        transitive = true
    }

compile('com.mopub.sdk.android:mopub:4.0.0@aar') {
            transitive = true;
        }

前者是独立的mopub sdk,后来是面料套件的一部分。它应该工作。

答案 2 :(得分:0)

当我将项目从Eclipse迁移到Android Studio时,我遇到了与Crashlytics类似的问题(在Eclipse中我使用外部jar文件,在Android Studio中我使用Gradle)。我只是忘了从libs文件夹中删除旧的Crashlytics jar文件。删除后,一切正常。