アプリにAdMob広告を取り込もうとしています。これまでのところ、アプリのメインアクティビティのonCreateメソッドに次のコードを追加しました...
adView = new AdView(this,AdSize.BANNER,"my code number");
adView.loadAd(new AdRequest());
プログラムはエラーなしでコンパイルされますが、実行時にJava.lang.NoClassDefFoundError: com.google.ads.AdView
というメッセージが表示されます。問題と解決策の想定される説明を見てきました ここ しかし、プロジェクト内に「lib」または「libs」ディレクトリがないため、プロジェクトにどのように適用できるかわかりませんでした。 。
EclipseのSDKマネージャーによると、私は使用するすべてのものの最新バージョンを持っています。
「libs」フォルダを手動で作成し、そこにライブラリを追加するだけです。デフォルトでは、それらは存在しません
同様の問題が発生しましたが、libsフォルダーを追加する必要はありませんでした。含まれているJarアーカイブをエクスポートするのを忘れていたのに気付いたとき、私は成功せずにそれらを削除しようとしました。
修正:
プロジェクト設定を選択> Javaビルドパス、次に注文してエクスポート。ここで、GoogleAdMobAdsSdk-パッケージを確認します。
これにより、NoClassDefFoundError-問題が解決されます。
それは私のために働いています。
Android 16から20に更新するとこのエラーが発生していました。
Java Build Path、Order and Exportタブに移動し、GoogleAdMobAdsSdkをチェックして、ソースのすぐ下に移動しました。何らかの理由で修正されました。
順序を元に戻しても、問題は発生しませんでした。したがって、いくつかの設定を初期化する必要があります。
私はこの問題を抱えていました、そしてこの問題も:
リストされているすべてのソリューションを何時間もフォローしたにもかかわらず、アプリを機能させる唯一の方法は、ここにあるAdMobバナーの例を使用することでした。
https://github.com/googleads/googleads-mobile-ios-examples/tree/master/admob/SmartBannerExample
そして、その周りにプロジェクトを再構築し、ファイルをそのプロジェクトにコピーします。行き詰まっている場合は、試してみてください。
なぜ機能したのかわかりませんが、今は機能しています。私のプロジェクトの何かが非常に間違っていました。これで仕事を続けることができます。私はGoogle/Androidが大好きですが、本当にめちゃくちゃです!
プロパティ-Javaビルドパス-順序とエクスポートに移動し、すべてのチェックマークをチェックします!これで私のプロジェクトはうまくいきました。
この回答を参照してください Androidアップデート17は外部Jarと互換性がないようです 。
すべてのjarファイルをlibではなくlibsフォルダーに配置する必要があります。
更新:
プロジェクト設定> Javaビルドパスを選択し、次に順序付けしてエクスポートします。
ここで、google-play-services.jarを確認してください。
これにより、NoClassDefFoundErrorの問題が解決するはずです。
Javaビルドパスに「GoogleAdMobAdsSdk-6.4.1.jar」を追加するだけでは不十分です。次に、table:Orderに切り替えてエクスポートする必要があります。「GoogleAdMobAdsSdk-6.4.1.jar」を確認してください。 " ここに。
私の場合、[注文とエクスポート]タブの[Androidプライベートライブラリ]をクリックする必要がありました