我正在尝试将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;
}
答案 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文件。删除后,一切正常。