Sdkbox admob android crash

cocos2d-x version 3.17
sdkbox admob version 2.4.0.0

my app reported by crashlytics

Fatal Exception: java.lang.NullPointerException: Attempt to read from field ‘com.google.android.gms.ads.exoplayer3.q com.google.android.gms.ads.internal.video.exoplayer3.n.d’ on a null object reference
at com.google.android.gms.ads.internal.video.exoplayer3.a.b(:com.google.android.gms.dynamite_dynamitemodulesa@12685006@12.6.85 (020300-197041431):167)
at com.google.android.gms.ads.internal.video.gmsg.e.a(:com.google.android.gms.dynamite_dynamitemodulesa@12685006@12.6.85 (020300-197041431):19)
at com.google.android.gms.ads.internal.video.gmsg.e.a(:com.google.android.gms.dynamite_dynamitemodulesa@12685006@12.6.85 (020300-197041431):119)
at com.google.android.gms.ads.internal.webview.j.b(:com.google.android.gms.dynamite_dynamitemodulesa@12685006@12.6.85 (020300-197041431):346)
at com.google.android.gms.ads.internal.webview.ab.run(Unknown Source:8)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at com.google.android.gms.ads.internal.util.f.dispatchMessage(:com.google.android.gms.dynamite_dynamitemodulesa@12685006@12.6.85 (020300-197041431):9)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6892)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

cocos2d-x version 3.17
sdkbox admob version 2.3.17.5

Fatal Exception: java.lang.NullPointerException: Attempt to read from field ‘com.google.android.gms.ads.exoplayer3.q com.google.android.gms.ads.internal.video.exoplayer3.n.d’ on a null object reference
at com.google.android.gms.ads.internal.video.exoplayer3.a.b(:com.google.android.gms.dynamite_dynamitemodulesa@12685025@12.6.85 (040408-197041431):167)
at com.google.android.gms.ads.internal.video.gmsg.e.a(:com.google.android.gms.dynamite_dynamitemodulesa@12685025@12.6.85 (040408-197041431):19)
at com.google.android.gms.ads.internal.video.gmsg.e.a(:com.google.android.gms.dynamite_dynamitemodulesa@12685025@12.6.85 (040408-197041431):119)
at com.google.android.gms.ads.internal.webview.j.b(:com.google.android.gms.dynamite_dynamitemodulesa@12685025@12.6.85 (040408-197041431):346)
at com.google.android.gms.ads.internal.webview.ab.run(Unknown Source:8)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at com.google.android.gms.ads.internal.util.f.dispatchMessage(:com.google.android.gms.dynamite_dynamitemodulesa@12685025@12.6.85 (040408-197041431):9)
at android.os.Looper.loop(Looper.java:163)
at android.app.ActivityThread.main(ActivityThread.java:6228)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

seems crash from Google Play Services, if you use proj.android-studio, you can import the lastest that maybe have some bugfix.

i use proj.android-studio
how and what ? import the lastest?

i use proj.android-studio
how and what ? import the lastest?

5 steps:

  1. cpp317/proj.android/build.gradle
allprojects {
    repositories {
        google()
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}
  1. cpp317/proj.android/app/build.gradle
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation project(':libcocos2dx')
    implementation 'com.google.android.gms:play-services-ads:15.0.0'
}
  1. cpp317/proj.android/app/project.properties
android.library.reference.1=../../cocos2d/cocos/platform/android/java/libs/facebook_lib/
# android.library.reference.2=../../cocos2d/cocos/platform/android/java/libs/gps/
  1. cpp317/proj.android/settings.gradle
// include ':gps'
// project(':gps').projectDir = new File(settingsDir, '../cocos2d/cocos/platform/android/java/libs/gps')
  1. cpp317/cocos2d/cocos/platform/android/libcocos2dx/build.gradle
dependencies {
    // compile project(':gps')
    implementation fileTree(dir: '../java/libs', include: ['*.jar'])
}

Thanks,

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation project(':libcocos2dx')

    implementation 'com.android.support:multidex:1.0.3'
    //implementation 'com.android.support:appcompat-v7:25.3.1'

    implementation 'com.flurry.android:analytics:6.2.0'

    implementation 'com.facebook.android:facebook-android-sdk:4.26.0'

    implementation('com.crashlytics.sdk.android:crashlytics:2.9.3@aar') {
       transitive = true
    }

    implementation('com.crashlytics.sdk.android:crashlytics-ndk:2.0.4@aar')

    implementation 'com.google.android.gms:play-services-base:15.0.0'
    implementation 'com.google.android.gms:play-services-auth:15.0.0'
    implementation 'com.google.android.gms:play-services-games:15.0.0'
    implementation 'com.google.android.gms:play-services-nearby:15.0.0'
    implementation 'com.google.android.gms:play-services-drive:15.0.0'
    implementation 'com.google.android.gms:play-services-ads:15.0.0'
    implementation 'com.google.android.gms:play-services-analytics:15.0.0'
}

------->

all gms/firebase libraries must use the exact same version specification
 (mixing versions can lead to runtime crashes).
Found versions 15.0.1 15.0.0 
Examples include  com.google.android.gms:play-services-ads-identifier:15.0.1 and
com.google.android.gms:play-services-ads-ads:15.0.0

thanks yinjimmy

1 Like