2012-05-09 3 views
21

こんにちは、私はandroid devとadmobを初めて使っています。私はボタン、いくつかのページと下部にあるadmobと簡単なテストアプリを作ろうとしています。私はadmobを実装しようとするまで、すべてうまく動作します。ここに私のコードは次のとおりです。クラスcom.google.ads.AdViewをエバリュエートするエラー

HelloAndroid.java:

package com.manny.HelloAndroid; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ImageView; 

public class HelloAndroid extends Activity { 
    /** Called when the activity is first created. */ 
    private static final int ACTIVITY_CREATE = 0; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 


     setContentView(R.layout.main); 
     ImageView image = (ImageView) findViewById(R.id.test_image); 
     //image.setScaleType(ImageView.ScaleType.FIT_XY); 

    } 
    public void onClick(View v){ 
     Intent i = new Intent(this, HelloPage2.class); 
     startActivityForResult(i, ACTIVITY_CREATE); 
    } 
} 

main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/test_image" 
     android:src="@drawable/bak_vert_480x800" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:scaleType="fitXY" 
     /> 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/hello" /> 
    <ImageButton 
     android:id="@+id/test_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/btn_arrow" 
     android:layout_marginLeft="100dp" 
     android:layout_marginTop="200dp" 
     android:onClick="onClick" 
     /> 
    <com.google.ads.AdView android:id="@+id/adView" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         ads:adUnitId="b14be806e9ddf1f" 
         ads:adSize="BANNER" 
         ads:testDevices="TEST_EMULATOR, TEST_DEVICE_ID" 
         ads:loadAdOnCreate="true"/> 

</RelativeLayout> 

ハローアンドロイドマニフェスト:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.manny.HelloAndroid" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="7" 
     android:targetSdkVersion="13"/> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> 
     <activity 
      android:name=".HelloAndroid" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".HelloPage2"> 
     </activity> 
    <activity android:name="com.google.ads.AdActivity" 
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|s mallestScreenSize"/> 
    </application> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
</manifest> 

logcat出力:

05-09 13:12:00.859: D/dalvikvm(24278): GC_EXTERNAL_ALLOC freed 51K, 44% free 3054K/5379K, external 2357K/2773K, paused 94ms 
05-09 13:12:00.937: D/dalvikvm(24278): GC_EXTERNAL_ALLOC freed 1K, 44% free 3053K/5379K, external 3857K/4816K, paused 31ms 
05-09 13:12:01.085: D/AndroidRuntime(24278): Shutting down VM 
05-09 13:12:01.085: W/dalvikvm(24278): threadid=1: thread exiting with uncaught exception (group=0x4001e560) 
05-09 13:12:01.109: E/AndroidRuntime(24278): FATAL EXCEPTION: main 
05-09 13:12:01.109: E/AndroidRuntime(24278): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.manny.HelloAndroid/com.manny.HelloAndroid.HelloAndroid}: android.view.InflateException: Binary XML file line #30: Error inflating class com.google.ads.AdView 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1702) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1722) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.app.ActivityThread.access$1500(ActivityThread.java:124) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:974) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.os.Handler.dispatchMessage(Handler.java:99) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.os.Looper.loop(Looper.java:130) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.app.ActivityThread.main(ActivityThread.java:3821) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at java.lang.reflect.Method.invokeNative(Native Method) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at java.lang.reflect.Method.invoke(Method.java:507) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at dalvik.system.NativeStart.main(Native Method) 
05-09 13:12:01.109: E/AndroidRuntime(24278): Caused by: android.view.InflateException: Binary XML file line #30: Error inflating class com.google.ads.AdView 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:581) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.view.LayoutInflater.rInflate(LayoutInflater.java:623) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.view.LayoutInflater.inflate(LayoutInflater.java:408) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:253) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.app.Activity.setContentView(Activity.java:1716) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at com.manny.HelloAndroid.HelloAndroid.onCreate(HelloAndroid.java:17) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1666) 
05-09 13:12:01.109: E/AndroidRuntime(24278): ... 11 more 
05-09 13:12:01.109: E/AndroidRuntime(24278): Caused by: java.lang.ClassNotFoundException: com.google.ads.AdView in loader dalvik.system.PathClassLoader[/data/app/com.manny.HelloAndroid-2.apk] 
05-09 13:12:01.109: E/AndroidRuntime(24278): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at java.lang.ClassLoader.loadClass(ClassLoader.java:551) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.view.LayoutInflater.createView(LayoutInflater.java:471) 
05-09 13:12:01.109: E/AndroidRuntime(24278): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570) 
05-09 13:12:01.109: E/AndroidRuntime(24278): ... 20 more 
05-09 13:12:11.593: I/Process(24278): Sending signal. PID: 24278 SIG: 9 

GoogleAdMobAdsSdkAndroid-6.0.0を使用しています。再び私はこれに非常に新しいですし、私は複数のサイトからの例を使用しようとしましたが、アプリケーションがadmobでページをヒットするとクラッシュするのを続行します。誰かが私を助けることができれば、それは非常に高く評価されるだろう。ありがとうございました。より多くのコードが必要な場合は、私に知らせてください。

+0

AdMob SDK jarがAPKにバンドルされていないようです。どのIDEを使用していますか? – EpicOfChaos

+0

Eclipseバージョン:Helios Service Release 2 – classyhobo

答えて

58

最近Androidツールをr17以上にアップデートしましたか?その場合は、プロジェクトにlibs /フォルダを作成し、物理的にSDKをプロジェクトに配置する必要があります。または、Javaビルドパスで、SDK jarを注文してエクスポートする必要があります。

そうしないと、apkがコンパイルされるときにjarがインクルードされず、実行時にAdMobコードを実行するとすべての不調が解消されます。

注:これは、プロジェクトが参照する任意のライブラリに適用されます。

+7

omgありがとう、私はそれを外部の瓶に追加しましたが、注文してエクスポートしませんでした。 – classyhobo

+0

yah meeあまりにも、私はlibsフォルダを作成し、ライブラリをコピーして貼り付け、今は正常に動作します。私はそれを注文して輸出しなかった。 –

+0

先生、私にお勧めしますか?http://stackoverflow.com/questions/25178044/android-admob-is-there-any-violation-to-remove-resources-from-google-play-serv –

2

私もこれを経験していました。ビルドパスは私が何をしても機能していないようです。そこでEclipseを終了し、ワークベンチパッケージディレクトリに新しいlibsフォルダを作成しました。そのフォルダにGoogleAdMobAdsSdk-6.0.1.jarを追加しました。私はSDK全体、JARファイルだけを追加しませんでした。その後、Eclipseを再起動します。 Eclipseの外で行った変更を表示するためにプロジェクトインスペクタの列を更新しなければなりませんでした。新しいlibsフォルダとjarファイルが表示されましたが、まだ動作しません...新しいlibsフォルダを右クリックしてソースフォルダとして設定しました。今はすべての作品! Eclipseのバージョンを使用して

イム:インディゴサービスリリースは2 ビルドID:20120216から1857の

のAndroid開発ツール18.0.0.v201203301601-306762

多分ツールが先ドキュメントのあると思われます。 ..または何らかの種類のEclipseバグ....非常に悪化!

1

私は同じ問題を抱えており、エクスポートリストの順序付けも重要であることに気付きました。
これは私のものです、この方法は、それが動作します:

enter image description here

+0

AdMob 6.2.1から6.3.1(改訂10)と私はクラッシュ "Error inflating class com.google.ads.AdView'を見ましたが、これは" Order and Export "リストの一番下にあるGoogleAdMobAdsSdkの横にチェックマークを付けるだけで修正されませんでした。あなたのスクリーンショットをありがとう! AdMobAds SDKをリストの一番上に移動すると効果がありました! –

0

私がやった - 今私のために働いている - APIレベルのAdMobのために17 :
- 適切なID
であなたのレイアウトにadviewコードを追加します。 - プロジェクトマニフェストファイルにAdmobマニフェストコードを追加してください
- 外部GoogleAdmobAdsSDKを追加.... jarファイルをライブラリに追加します(Properties \ Javaビルドパス)
- GoogleAdmobAdsSDKを選択してください....jar in order and export
- ADTを再起動します。

DEGUB =作業中です。

10

私にとっては、このように機能しました。

  • 近いSDKのjarファイルがLIBSに表示されるまで、プロジェクトをリフレッシュ
  • プロジェクトの「LIBS」フォルダに手動
  • オープン日食をSDKの広告のjarファイルを追加
  • 日食はあなたに行く
  • をフォルダプロジェクトのプロパティ> Javaビルドパス>ライブラリタブを選択し、外部タブの代わりに「Jarを追加」を選択します。下のリストからsdkを選択します。
  • [注文と書き出し]タブに移動して、もう一度SDKを選択します。
  • [OK]をクリックし、[完了]をクリックします。

次に、マニフェストとxmlに適切なコードを追加してください。

+0

これは私のために働いた。ありがとう! – Si8

+0

日食を再開することは、すべてのことをやった後についに私を助けました。 – aditya

0

Androidスタジオの場合: 1. Google AdMob SDKをプロジェクトのlibsフォルダに貼り付けます。 2. jarをポイントするプロジェクトのbuild.gradleの依存関係セクションにエントリを追加します。 3.プロジェクトファイルが複数のjarファイルエントリを取るコンパイル

dependencies { 
... 
compile files('libs/GoogleAdMobAdsSdk-6.4.1.jar', '... other entries...') 
} 

ノートを再構築します。すでにファイルをコンパイルしている場合は、エントリをコンマで区切って追加するだけです。

0

同じエラーが私には表示され、私はいくつかの簡単な手順で解決 あなたが除去するため、プロジェクト からappcombat依存関係を削除する必要があります右のあなたのプロジェクト - > android->アプリの戦闘を削除し、あなたがアンドロイドを選択していることを確認してくださいをクリックしてください4.2.2 してから、Google Adob​​ Jarをプロジェクトにインポートします。

関連する問題