Cocos2d-x Chartboost Android 初始化奇怪错误

Cocos2d-x Chartboost Android Initialization strange error

我正在使用 Cocos2d-x v3.2 和最新的 Chartboost android SDK v5.5.3。 我已经为 android 完成了 SDK 集成文档中提到的所有内容,但是当我的应用程序运行时,我在 logcat 中遇到了非常奇怪的错误。

这是我在 onCreate() 中的初始化代码

//Init Chartboost
    Chartboost.startWithAppId(this, getString(R.string.chartboost_app_id), getString(R.string.chartboost_app_signature));
    Chartboost.setImpressionsUseActivities(true);
    Chartboost.setShouldRequestInterstitialsInFirstSession(false);
    Chartboost.setDelegate(cbDelegate);
    Chartboost.onCreate(this);

logcat 出现:

09-07 16:58:21.221: W/System.err(16168): java.lang.Exception: Chartboost Initialization error. Activity or appId or appSignature is invalid
09-07 16:58:21.222: W/System.err(16168):    at com.chartboost.sdk.Chartboost.run(SourceFile:666)
09-07 16:58:21.222: W/System.err(16168):    at com.chartboost.sdk.Chartboost.a(SourceFile:1129)
09-07 16:58:21.222: W/System.err(16168):    at com.chartboost.sdk.Chartboost.cacheInterstitial(SourceFile:663)
09-07 16:58:21.222: W/System.err(16168):    at com.android.Main.preloadChartboost(Main.java:1078)
09-07 16:58:21.224: W/System.err(16168): java.lang.Exception: Chartboost Initialization error. Activity or appId or appSignature is invalid
09-07 16:58:21.224: W/System.err(16168):    at com.chartboost.sdk.Chartboost.run(SourceFile:733)
09-07 16:58:21.224: W/System.err(16168):    at com.chartboost.sdk.Chartboost.a(SourceFile:1129)
09-07 16:58:21.224: W/System.err(16168):    at com.chartboost.sdk.Chartboost.cacheMoreApps(SourceFile:730)
09-07 16:58:21.225: W/System.err(16168):    at com.android.Main.preloadChartboost(Main.java:1079)
09-07 16:58:21.698: W/System.err(16168): java.lang.Exception: Chartboost Initialization error. Activity or appId or appSignature is invalid
09-07 16:58:21.698: W/System.err(16168):    at com.chartboost.sdk.Chartboost.onCreate(SourceFile:169)

请告诉我,我做错了什么?

在尝试了很多解决方案后,我终于弄明白了是因为在错误的位置缓存广告导致的问题。

我之前在 init() 方法中调用了 Chartboost.cacheInterstitial(CBLocation.LOCATION_DEFAULT);。将 Chartboost.cacheInterstitial(CBLocation.LOCATION_DEFAULT); 移动到其他地方后,例如 onResume(),这个错误就消失了。

但我不知道为什么 logcat 说错误是因为 appID 或 appSignature 无效。太奇怪了!

我遇到的无效 appID 或 appSignature 问题是缺少必需的权限:

android.permission.WRITE_EXTERNAL_STORAGE