首页 > 解决方案 > Android Chartboost SDK 错误

问题描述

我的应用程序与 Chartboost sdk 集成时出现下一个错误:我的应用程序运行良好并显示静态和视频插页式广告,我可以多次启动我的应用程序并且广告始终显示正常但是当退出应用程序时,如果我关闭我的应用程序并使用 Android 最近按钮应用程序然后我的应用程序在启动时崩溃(我在主活动应用程序启动时初始化 Chartboost SDK)但如果我退出 Chartboost sdk,则不会发生这种行为。你的应用也会发生同样的事情吗?见下图,谢谢。

Eclipse 错误日志:

    FATAL EXCEPTION: main
Process: com.ticogames.relaxing.help, PID: 21839
java.lang.NoSuchMethodError: No static method       checkSelfPermission(Landroid/content/Context;Ljava/lang/String;)I in class     Landroid/support/v4/content/ContextCompat; or its super classes (declaration    of 'android.support.v4.content.ContextCompat' appears in /data/app   /com.ticogames.relaxing.help-1/base.apk)
at com.moat.analytics.mobile.cha.n.ͺ(SourceFile:5303)
at com.moat.analytics.mobile.cha.n.ʽ(SourceFile:178)
at com.moat.analytics.mobile.cha.n.ˎ(SourceFile:144)
at com.moat.analytics.mobile.cha.n.<init>(SourceFile:81)
at com.moat.analytics.mobile.cha.n.ˏ(SourceFile:63)
at com.moat.analytics.mobile.cha.f.ˎ(SourceFile:108)
at com.moat.analytics.mobile.cha.t$2$2.ˏ(SourceFile:135)
at com.moat.analytics.mobile.cha.t$d$5.run(SourceFile:245)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5421)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)

Eclipse 错误日志 - 图片

标签: javaandroidchartboost

解决方案


错误消息是指支持库,它需要是>=version 23.0.0。这个问题可以通过模块级build-gradle和这些依赖项来解决:

implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:support-v4:27.1.1'

为了转发接口方法,您必须实现以下方法:

@Override
public void onStart() {
    super.onStart();
    Chartboost.onStart(this);
}

@Override
public void onResume() {
    super.onResume();
    Chartboost.onResume(this);
}

@Override
public void onPause() {
    super.onPause();
    Chartboost.onPause(this);
}

@Override
public void onStop() {
    super.onStop();
    Chartboost.onStop(this);
}

@Override
public void onDestroy() {
    super.onDestroy();
    Chartboost.onDestroy(this);
}

@Override
public void onBackPressed() {
    // If an interstitial is on screen, close it.
    if (Chartboost.onBackPressed()) {
        return;
    } else {
        super.onBackPressed();
    }
}

这里基本上都详细解释了......例如。Android API 级别 27 尚未得到支持 - 因此 API 级别 26 是可用的最高级别(但仍然可以使用这些27.1.1支持库)。

在每种情况下,堆栈跟踪和错误描述都不匹配。


推荐阅读