2015-04-15 1 views
1

Cette erreur libc : Fatal signal 4 (SIGILL), code 2, fault addr 0xb6fc346e in tid 2826 (AdWorker #3) est arrivé à la pop et je ne savais pas comment y remédier car il n'y avait pas de pile trace. J'utilise l'émulateur Genymotion et il n'apparaît que sur Lollipop.Android AdView: Signal Fatal 4 (SIGILL), le code 2, faute adr 0xb6fc346e dans tid 2826 (AdWorker # 3)

Il est en quelque sorte connecté à mon Adview parce que quand je commente loadAd() sur erreur disparaît.

avHomeAd = (AdView) this.findViewById(R.id.avHomeAd); 
AdRequest adRequest = new AdRequest.Builder().build(); 
//avHomeAd.loadAd(adRequest); <--commenting this out fixes it, but then I get no ads :(

Comment réparer?

+0

Code postal. Post Exception. –

Répondre

1

La réponse se trouve dans les autorisations! J'ai commenté la permission ACCESS_NETWORK_STATE et elle n'apparaît plus. Google Docs AdMob dit que c'est facultatif de toute façon.

<uses-permission android:name="android.permission.INTERNET" /> 

<!--This crashes app on Genymotion lollipop emulator when combined with AdView. 
It is optional for adView says google docs, ignore the error msg thrown in logcat 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>--> 

L'inconvénient est que, parfois, les annonces ne se présentent pas dans l'émulateur, mais il apparaît sur mon appareil réel (KitKat). Je ne sais toujours pas si l'inclusion de l'autorisation provoquera le crash d'un vrai périphérique Lollipop car je n'en ai pas sous la main! Peut-être que quelqu'un peut intervenir.

Votre application pourrait maintenant jeter cette erreur (ne plante pas l'application) ci-dessous et a été la seule raison pour laquelle j'ai ajouté la permission en premier lieu! Mais puisque c'est facultatif et bloque l'émulateur de sucette, je l'ignorerai juste.

E/GAV4﹕ Thread[GAThread,5,main]: Error on GAThread: java.lang.SecurityException: ConnectivityService: Neither user 10059 nor current process has android.permission.ACCESS_NETWORK_STATE.