LoginSignup
1
2

More than 5 years have passed since last update.

【AndroidStudio】で広告つける→成功したがhtcの端末だとクラッシュする→対策!

Last updated at Posted at 2014-12-12

何度か書いているように、私の開発環境はAndroidStudio。そしてMacユーザだ。

世の中にはEclipse向けの文書は数多あれど、AndroidStudio向けのものは少ない。
ましてや日本語など。
なのになぜEclipseにしないの?と問われたら…なぜでしょうね。またいつか。

本題。
AndroidStudioで広告をつけようとすると、
「どれをどこにコピーして、何をどう書き換える」の資料が不足しているんである。
Eclipse向けのサイトだと、それこそDB2のGUIコンソールのようなウィザードの画面があって
すごく簡単そうに書いてあるんだが

AndroidStudioだとそんなものは無い

そこで、発見したのがこの「ぱんだ」氏の記載。
http://androidstudio.hatenablog.com/entry/2014/07/21/170610
写真付きで、ツボを押さえて書いてくださっている。Excellent!!
感謝の気持ちを込め、ここで拡散する。


で、広告は無事動くようになったのだが、
私は「親日ケータイ」、HTC J ISW13HTを使用している。

とっても気に入っているケータイなのだが、何故か私のプログラムが動かない。
エミュレータでは動いているのに。
AdMobを入れるようになってからだ。。。

調べてみるとつい数日前の記事が。

androidファッション通信 さん。

どうやら、htcのAndroid 4.0.xだとヘボいことになってクラッシュするので
そこの処理を飛ばすような記載を追記する必要があるようだ。

なので 「広告のコード」の下にtry〜のくだりを追加してみたところ、
私の愛機でも無事稼働するようになった。
Androidファッション通信さんに感謝!

"onCreate"のところに try~を追加する。

    //広告のコード
    AdView adView = (AdView)this.findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder().build();
    adView.loadAd(adRequest);


    //AdMobがHTCでおかしくなるので以下追加
    try
    {
        Class.forName("android.os.AsyncTask"); //it prevents AdMob from crashing on HTC with Android 4.0.x
    }
    catch(Throwable ignored)
    {}


これで、この問題は回避出来た。
よし、前に進む。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2