2012年3月25日日曜日

Could not find class 'com.google.ads.AdView'

Could not find class 'com.google.ads.AdView'

標題のエラーについては下記のサイトで解決策が掲示されています。
Libraries in SDK 17 - android
How to fix the “NoClassDefFoundError” with ADT 17
Dealing with dependencies in Android projects
この問題は、revision 17 of the Android SDK Tools and of the Eclipse ADT plug-inにおけるものであるとされています。

解決方法は次のとおりです。
プロジェクト名のフォルダー(プロジェクトルートのフォルダー)の直下に"libs"という名前のフォルダーを設けて、そのフォルダーにjarファイルをコピーしてください。そうすれば、jarファイルは自動的に"Android Dependencies"のフォルダーに組み込まれ、問題は解決します。

"libs"という名前のフォルダーは、「Package Explorer」欄で手入力で作成できます。

教科書で示されているような、EclipseにおけるProject > Properties > Java Build Path > Libralies > Add External JARs....といった操作は必要ではありません。
教科書:Google AdMob Ads Android Fundamentals

むしろ、(Project > Properties > Java Build Path > Libralies の)「JARS and class folders on the build path:」欄には、"Android 4.0.3"及び"Android Dependencies"の2個だけにしておかねばなりません。

そして、"libs"という名前のフォルダーにGoogleAdMobAdsSdk-4.3.1.jarファイルをコピーします。jarファイルをコピーする作業は、「Package Explorer」欄で行えます。

この場合の留意点として、"libs"フォルダーの直下にjarファイルを置かねばならないということです。"libs"フォルダーとjarファイルの中間に何らかのフォルダーが有ってはダメです。

正しいjarファイルの配置:
JPVoicer(プロジェクトルートのフォルダー)
|- libs(フォルダー)
  |- GoogleAdMobAdsSdk-4.3.1.jar

ダメなファイルの配置
JPVoicer(プロジェクトルートのフォルダー)
|- libs(フォルダー)
  |- GoogleAdMobAdsSdkAndroid-4.3.1(フォルダー)
    |- GoogleAdMobAdsSdk-4.3.1.jar

1 件のコメント:

  1. If you're looking for a reputable contextual advertising network, I suggest you take a peek at Propeller Ads.

    返信削除