Android Chartboost SDK 错误
Android Chartboost SDK Error
我的集成了 Chartboost sdk 的应用程序出现下一个错误:
我的应用程序运行良好并显示静态和视频插页式广告,我可以多次启动我的应用程序并且广告始终显示正常但是当退出应用程序并使用 Android 最近按钮如果我关闭我的应用程序然后我的应用程序在启动时崩溃(我在主 activity 应用程序启动时初始化 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.ˏ(SourceFile:135)
at com.moat.analytics.mobile.cha.t$d.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 Error log - Image
错误消息涉及支持库,需要 >=
版本 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();
}
}
here 基本都解释的很详细了...eg. Android API 级别 27 尚未得到支持 - 因此 API 级别 26 是可用的最高级别(但仍然可以使用那些 27.1.1
支持库)。
在每种情况下,堆栈跟踪和错误描述都不匹配。
我的集成了 Chartboost sdk 的应用程序出现下一个错误: 我的应用程序运行良好并显示静态和视频插页式广告,我可以多次启动我的应用程序并且广告始终显示正常但是当退出应用程序并使用 Android 最近按钮如果我关闭我的应用程序然后我的应用程序在启动时崩溃(我在主 activity 应用程序启动时初始化 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.ˏ(SourceFile:135)
at com.moat.analytics.mobile.cha.t$d.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 Error log - Image
错误消息涉及支持库,需要 >=
版本 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();
}
}
here 基本都解释的很详细了...eg. Android API 级别 27 尚未得到支持 - 因此 API 级别 26 是可用的最高级别(但仍然可以使用那些 27.1.1
支持库)。
在每种情况下,堆栈跟踪和错误描述都不匹配。