1

メイン アプリケーションで AdMob を使用しています。しかし、いくつかのサービスを開始すると、例外が発生します:android.view.InflateException: Binary XML file line #134: Error inflating class <unknown>

mainAdMob レイアウト

<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="bottom"
        android:orientation="vertical" >

        <com.google.ads.AdView
            xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
            android:id="@+id/adView"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            ads:adSize="SMART_BANNER"
            ads:adUnitId="xxx"
            android:gravity="bottom" />
    </LinearLayout>

そして、このコードを呼び出すサービスを実行すると:

private View getMainLayout() {
        LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
        View layout = inflater.inflate(R.layout.main, null);

        return layout;
    }

私は例外を取得します:

01-26 07:55:56.500: W/dalvikvm(21075): threadid=1: thread exiting with uncaught exception (group=0x40c7a1f8)
01-26 07:55:56.655: E/AndroidRuntime(21075): FATAL EXCEPTION: main
01-26 07:55:56.655: E/AndroidRuntime(21075): java.lang.RuntimeException: Unable to create service com.xxx.sss.service.SmsService: android.view.InflateException: Binary XML file line #134: Error inflating class <unknown>
01-26 07:55:56.655: E/AndroidRuntime(21075):    at android.app.ActivityThread.handleCreateService(ActivityThread.java:2274)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at android.app.ActivityThread.access$1600(ActivityThread.java:127)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1212)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at android.os.Looper.loop(Looper.java:137)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at android.app.ActivityThread.main(ActivityThread.java:4511)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at java.lang.reflect.Method.invokeNative(Native Method)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at java.lang.reflect.Method.invoke(Method.java:511)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at dalvik.system.NativeStart.main(Native Method)
01-26 07:55:56.655: E/AndroidRuntime(21075): Caused by: android.view.InflateException: Binary XML file line #134: Error inflating class <unknown>
01-26 07:55:56.655: E/AndroidRuntime(21075):    at android.view.LayoutInflater.createView(LayoutInflater.java:606)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:742)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at com.xxx.sss.service.SmsService.getMainLayout(SmsService.java:79)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at com.xxx.sss.service.SmsService.setOnLabelOnButton(SmsService.java:68)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at com.xxx.sss.service.SmsService.onCreate(SmsService.java:37)
01-26 07:55:56.655: E/AndroidRuntime(21075):    at android.app.ActivityThread.handleCreateService(ActivityThread.java:2264)

なにが問題ですか?

4

2 に答える 2

1

この依存関係の追加を試すこともできます。「com.google.android.gms:play-services-ads:8.4.+」をアプリ レベルの build.gradel にコンパイルし、プロジェクトをビルドします。

次に、layout.xml ファイルに追加します

<com.google.android.gms.ads.AdView
                    android:id="@+id/adView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:layout_centerHorizontal="true"
                    ads:adSize="BANNER"
                    ads:adUnitId="@string/banner_ad_unit_id"/>

banner_ad_unit_id: これは一意の ID でなければなりません

次の行を Java ファイルに追加します Java ファイル

mAdView = (AdView) mMainView.findViewById(R.id.adView); 

マニフェスト ファイルにAdActivityを追加することを忘れないでください。

于 2016-08-24T09:06:32.597 に答える
0

com.google.ads.AdViewマニフェストファイルでライブラリを宣言するのを忘れましたか?

于 2013-01-26T07:12:24.917 に答える