Blog6 of GrrrNeko BASE

このコーナーではデベロッパー向けに、私がハマってしまったポイントとその解決法を書いていきます。

2012-9-20

android: AdMobの実装でエラーが出てコンパイルできない

症状:

AdMob の指示通りに AdMob を実装してみるが、エラーが出てコンパイルが完了しない。LogCat を見ると FATAL エラー、cannot inflate class com.google.ads.AdView (記憶なので微妙に違う可能性あり)というようなエラーが出る。

解決法:

 AdMob の指示では、SDK をインストールして、「プロジェクト名右クリック → プロパティ → Java のビルド・パス → 外部 JAR の追加... 」で SDK の jar ファイルを読み込むように指示がされている。

 このとき、SDK JAR の置き場所についてはなんら指示がない。が、これでは jar にパスが通らない=AdView を読み込めない=上のエラーから抜け出せないこと請け合いである。

 たしかに、SDK のダウンロード場所はどこでもよい。ただし、ダウンロードした後、次の2つの操作が必要だ。

1 .JAR ファイル(GoogleAdMobAdsSdk-6.1.0.jar、執筆時のバージョン)を

  • \ユーザー\ユーザー名\workspace\プロジェクト名\libs\

にコピペする。JAR ファイルだけで良い。

2. eclipse を再起動して、1.の操作が反映されるようにしてから、AdMob の指示にある Java のビルド・パスの画面に行く。

  • プロジェクト名右クリック → ビルド・パス → ビルド・パスの構成

 ただし、ここで指示通り「外部 JAR の追加...」を押すのではなく、「JAR の追加... 」を押して、1.の \libs\ にある JAR ファイルを組み込む。

 これで JAR ファイルが内部化され、com.google.ads.AdView のパスも通り、コンパイルも問題なく完了するはずである。

 これも Stack Overflow からヒントを得て解決できた。やはり困ったときの Stack Overflow 様か…

 ちなみに、パブリッシャー ID はプロジェクトごとに異なるが、この JAR ファイルは使いまわせるので、SDK をダウンロードするのはどこでもよいとはいえ、分かりやすいところに置いておくのがよいだろう。

ページトップへ