// Create the Firebase app.
App* app = App::Create(AppOptions(), get_jni_env(), activity);
ABI: 'arm'
pid: 25251, tid: 25281, name: SDLThread >>> my.new.app <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
r0 00000000 r1 000062c1 r2 00000006 r3 dcb35978
r4 dcb35980 r5 dcb35930 r6 00000058 r7 0000010c
r8 0010057e r9 00000000 sl df976500 fp de6569f8
ip 00000006 sp dcb339c0 lr f7046365 pc f7048754 cpsr 400e0010
backtrace:
#00 pc 00042754 /system/lib/libc.so (tgkill+12)
#01 pc 00040361 /system/lib/libc.so (pthread_kill+32)
#02 pc 0001ca9b /system/lib/libc.so (raise+10)
#03 pc 00019d19 /system/lib/libc.so (__libc_android_abort+34)
#04 pc 0001755c /system/lib/libc.so (abort+4)
#05 pc 00079b5b /data/app/my.new.app/lib/arm/libmain.so (firebase::util::FindClassGlobal(_JNIEnv*, _jobject*, std::vector<firebase::util::EmbeddedFile, std::allocator<firebase::util::EmbeddedFile> > const*, char const*)+102)
#06 pc 00076fa9 /data/app/my.new.app/lib/arm/libmain.so (firebase::app::CacheClassFromFiles(_JNIEnv*, _jobject*, std::vector<firebase::util::EmbeddedFile, std::allocator<firebase::util::EmbeddedFile> > const*)+16)
#07 pc 00077005 /data/app/my.new.app/lib/arm/libmain.so (firebase::app::CacheMethodIds(_JNIEnv*, _jobject*)+4)
#08 pc 000780af /data/app/my.new.app/lib/arm/libmain.so (firebase::App::Create(firebase::AppOptions const&, char const*, _JNIEnv*, _jobject*)+70)
#09 pc 00071e7b /data/app/my.new.app/lib/arm/libmain.so (init_firebase+402)
#10 pc 00069a93 /data/app/my.new.app/lib/arm/libmain.so (MyApp::MyApp()+558)
#11 pc 000578e7 /data/app/my.new.app/lib/arm/libmain.so (Create_main+38)
#12 pc 00075717 /data/app/my.new.app/lib/arm/libmain.so (Java_org_Activity_Init+230)
#13 pc 0027bbd9 /data/app/my.new.app/oat/arm/base.odex (offset 0x1d6000)
/**
* The NativeActivity object handle.
*
* IMPORTANT NOTE: This member is mis-named. It should really be named
* 'activity' instead of 'clazz', since it's a reference to the
* NativeActivity instance created by the system for you.
*
* We unfortunately cannot change this without breaking NDK
* source-compatibility.
*/
jobject clazz;
public class MainActivity extends Activity
{
protected static MainActivity mSingletonMainActivity = null;
public static MainActivity getMainActivity() {
return mSingletonMainActivity;
}
public MainActivity()
{
mSingletonMainActivity = this;
...
}
.
W/Ads (10741): Failed to instantiate ClientApi class.
W/Ads (10741): java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.ads.internal.ClientApi" on path: DexPathList[[zip file "/data/app/org.my.app/base.apk"],nativeLibraryDirectories=[/data/app/org.my.app/lib/arm, /vendor/lib, /system/lib]]
W/Ads (10741): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
W/Ads (10741): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
W/Ads (10741): at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
W/Ads (10741): at com.google.android.gms.ads.internal.client.ae.a(Unknown Source)
W/Ads (10741): at com.google.android.gms.ads.internal.client.ae.b(Unknown Source)
W/Ads (10741): at com.google.android.gms.ads.internal.client.ae.a(Unknown Source)
W/Ads (10741): at com.google.android.gms.ads.internal.client.al.c(Unknown Source)
W/Ads (10741): at com.google.android.gms.ads.internal.client.ae.a(Unknown Source)
W/Ads (10741): at com.google.android.gms.ads.internal.client.ae.a(Unknown Source)
W/Ads (10741): at com.google.android.gms.ads.internal.client.zzae.o(Unknown Source)
W/Ads (10741): at com.google.android.gms.ads.internal.client.zzae.n(Unknown Source)
W/Ads (10741): at com.google.android.gms.ads.internal.client.zzae.a(Unknown Source)
W/Ads (10741): at com.google.android.gms.ads.c.loadAd(Unknown Source)
W/Ads (10741): at com.google.android.gms.ads.AdView.loadAd(Unknown Source)
W/Ads (10741): at com.google.firebase.admob.internal.cpp.BannerViewHelper$3.run(BannerViewHelper.java:213)
W/Ads (10741): at android.os.Handler.handleCallback(Handler.java:739)
W/Ads (10741): at android.os.Handler.dispatchMessage(Handler.java:95)
W/Ads (10741): at android.os.Looper.loop(Looper.java:135)
W/Ads (10741): at android.app.ActivityThread.main(ActivityThread.java:5221)
W/Ads (10741): at java.lang.reflect.Method.invoke(Native Method)
W/Ads (10741): at java.lang.reflect.Method.invoke(Method.java:372)
W/Ads (10741): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
W/Ads (10741): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
W/Ads (10741): Suppressed: java.lang.ClassNotFoundException: com.google.android.gms.ads.internal.ClientApi
W/Ads (10741): at java.lang.Class.classForName(Native Method)
W/Ads (10741): at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
W/Ads (10741): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
W/Ads (10741): at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
W/Ads (10741): ... 21 more
W/Ads (10741): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
W/Ads (10741): ClientApi class cannot be loaded.
E/Ads (10741): This app is using a lightweight version of the Google Mobile Ads SDK that requires the latest Google Play services to be installed, but Google Play services is either missing or out of date.
-keep public class com.google.android.gms.ads.** {
public *;
}
--
You received this message because you are subscribed to the Google Groups "Firebase Google Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebase-tal...@googlegroups.com.
To post to this group, send email to fireba...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/a9ae3d81-3902-4ff2-844b-f89daa2d2eb1%40googlegroups.com.
I'll try to provide responses to your comments, please let me know if I miss anything."If I call my firebase/admob C++ function directly from the java Activity, it crashes because of "banner_view->Show();".So, I call my firebase/admob C++ function from the thread beside (which created from the Activity) and it seems to work fine.This is a difference to my old code. Before the Activity was creating directly the Admob view + loading the ad. Don't know if this could lead to an issue..."Could you clarify what you're doing here. It would be great if you could share some code. For all methods that require interaction with UI we should be spawning a runnable that is executed on the UI thread. It's possible you've run across a bug here or maybe you're doing something we didn't expect.
"- At some point, I got a crash in LoadAd because I left the "AdRequest" un-initialized (not zero-ed).(I have no specific information to fill inside the AdRequest).I was expecting some default constructor. But in fact this not a class, but a structure.Maybe, it would be better to upgrade this structure to a class, with a real constructor. "AdRequest is intentionally a struct, we expect users to either use a few static const instances of the structure to form requests (which means it will be zero'd on module load) or memset() then populate.
"- It seems to me my .APK is not requiring three more permissions:android.permission.WAKE_LOCKcom.google.android.c2dm.permission.RECEIVEnet.my.app.permission.C2D_MESSAGEIs this normal ?"You shouldn't need these permissions what is leading you to that conclusion?com.google.android.c2dm.permission.RECEIVE and net.my.app.permission.C2D_MESSAGE for example are required by Firebase Cloud Messaging and IID.
"Previously, my Java Admob code was preventing a display bug (first ad not appearing) by setting the background color as transparent: adView.setBackgroundColor(Color.TRANSPARENT);"I'll forward to the AdMob team for a response.
" It would be nice to have a setting for AdSize, so that the width fills exactly 100% of the screen."You can get the size of the screen in pixels so you can just set the width of the Ad to that size. We've intentionally kept the API as simple as possible.
"Bug on a Samsung Tab S8:Even if I move the banner view to (0,0), it appears y-shifted. Of a size exactly of the status bar (which is hidden in this case).Seems to be a regression compare to previous version of admob (e.g. rev 29, vs rev 30+firebase) ..."I'll forward to the AdMob team for a response.
"On a older device, that has not the Google-Play-Services installed. (nexus 7 tablet, android 5)."You need the latest Google-Play-Services installed to use Firebase. Google-Play-Services hosts the implementation of all Firebase (and Google) APIs, each time you use a new client SDK if you exercise new functionality you'll need a new Google-Play-Services on the device.
com.google.android.gms.ads.**).
"I have an old phone with android 2.3.4. This is a custom rom.The ad does not displayed and it crashed after calling admob "banner->Show()".There is a fatal Java exception:"As mentioned before, you need to be running the latest Google-Play-Services to use Firebase.
AdMob developer relations checking in. I recognize your email from our Android forum!"Previously, my Java Admob code was preventing a display bug (first ad not appearing) by setting the background color as transparent: adView.setBackgroundColor(Color.TRANSPARENT);"
If your first request is valid, but doesn't result in a properly loaded ad, that's something that should be investigated. Are you using a different ad unit than the other requests, or anything else that would differentiate them?
"- At some point, I got a crash in LoadAd because I left the "AdRequest" un-initialized (not zero-ed).(I have no specific information to fill inside the AdRequest).I was expecting some default constructor. But in fact this not a class, but a structure.Maybe, it would be better to upgrade this structure to a class, with a real constructor. "We considered a bunch of options for AdRequest and went with a struct in the end because it's essentially a blob of data used in the calls to LoadAd. If you don't have any specific request data that you need, just zero it out with memset. You're free to re-use a single struct in multiple calls, as well.
" It would be nice to have a setting for AdSize, so that the width fills exactly 100% of the screen."We're looking into whether to include the smart banner size in the C++ API. We weren't sure if game devs would rather just center the ad and draw any extra padding to the left and right themselves.
"Bug on a Samsung Tab S8:Even if I move the banner view to (0,0), it appears y-shifted. Of a size exactly of the status bar (which is hidden in this case).Seems to be a regression compare to previous version of admob (e.g. rev 29, vs rev 30+firebase) ..."Do you mind sharing some details about your activity setup? For example, are you using a NativeActivity, and if not, what does your Activity layout/manifest entry look like?
Thanks!-Andrew
--
You received this message because you are subscribed to a topic in the Google Groups "Firebase Google Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/firebase-talk/GZsXftJA3BE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to firebase-tal...@googlegroups.com.
To post to this group, send email to fireba...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/c6e7289a-f7cb-4b7f-906f-f1ee3025b6c4%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Firebase Google Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebase-tal...@googlegroups.com.
To post to this group, send email to fireba...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/1d97e71c-869f-448e-b6be-51be71196451%40googlegroups.com.
--
You received this message because you are subscribed to a topic in the Google Groups "Firebase Google Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/firebase-talk/GZsXftJA3BE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to firebase-tal...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/b3fb87c9-0b18-44d5-9399-0c0e180cb9fa%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/CAOQGBFZ9Lm2BAiHtGQs2H4zGQosVH%2BiF5uu5xPj9JOX_C5PNFA%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Firebase Google Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebase-tal...@googlegroups.com.
To post to this group, send email to fireba...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/c32448c0-489a-432c-ba44-eb6585d3e298%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/CAGcMwsC7cK2K9jopzG4MDfGqGtr9wQhdb5wDf%2BX1%2B4kjY%2BkZjQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/d73b7b5a-0544-4056-bbdd-f2604916a3c3%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/231d705a-2878-4d99-aed4-c65fbb8318b9%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/39e24c11-6954-4ba9-8da7-1ed7bfa90b6e%40googlegroups.com.
--
You received this message because you are subscribed to a topic in the Google Groups "Firebase Google Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/firebase-talk/GZsXftJA3BE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to firebase-tal...@googlegroups.com.
To post to this group, send email to fireba...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebase-talk/CANJbYvBXNio%3D0Pw4Lp63Crm197q3eZbmK4oDd-nb36V%2BXmqkXA%40mail.gmail.com.