Android AdView:致命信号4(SIGILL),代码2,tid 2826中的故障地址0xb6fc346e(AdWorker#3)

时间:2015-04-15 02:38:43

标签: android admob fault adview

此错误 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 个答案:

答案 0 :(得分:1)

答案在于权限! 我评论了ACCESS_NETWORK_STATE权限,但它不再出现了。谷歌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.