Android AdView: фатальный сигнал 4 (SIGILL), код 2, адрес ошибки 0xb6fc346e в tid 2826 (AdWorker #3)

Эта ошибка libc : Fatal signal 4 (SIGILL), code 2, fault addr 0xb6fc346e in tid 2826 (AdWorker #3)произошло всплывающее окно, и я понятия не имел, как это исправить, так как не было следа стека. Я использую эмулятор Genymotion, и он отображается только на Lollipop.

Это как-то связано с моим Adview, потому что, когда я комментирую loadAd() ошибка исчезнет

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 :(

Как исправить?

1 ответ

Решение

Ответ лежит в пределах разрешений! Я закомментировал ACCESS_NETWORK_STATE разрешение, и оно больше не появляется. Документы Google AdMob говорят, что это в любом случае необязательно.

<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"/>-->

Недостатком является то, что иногда реклама не отображается в эмуляторе, но она отображается на моем реальном устройстве (kitkat). Я до сих пор не знаю, приведет ли сбой к действию устройства Lollipop, так как у меня его нет под рукой! Может быть, кто-то может вмешаться.

Ваше приложение может теперь выдать эту ошибку (не вызывает сбой приложения) ниже и было единственной причиной, по которой я добавил разрешение в первую очередь! Но так как это необязательно и вылетает эмулятор леденца на палочке, я просто проигнорирую его.

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.

Другие вопросы по тегам