我的应用程序集成了 Chartboost sdk 时遇到下一个错误: 我的应用程序运行良好并显示静态和视频插页式广告,我可以多次启动我的应用程序并且广告始终显示正常,但是当我退出应用程序并使用 Android 最近按钮时,如果我关闭我的应用程序,那么我的应用程序在启动时崩溃(我在主活动应用程序启动时初始化 Chartboost SDK(,但如果我退出 Chartboost sdk,那么这种行为不会发生。您的应用程序也会发生同样的事情吗? 见下图,谢谢。
日食错误日志:
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)
日食错误日志 - 图像
>=
版本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
支持库(。
在每种情况下,堆栈跟踪和错误描述都根本不匹配。