java.lang.RuntimeException:无法启动活动ComponentInfo {} android.view.InflateException:二进制XML文件行#8:

时间:2014-11-23 17:57:56

标签: java android xml admob

主要活动Java文件:

public class MainActivity extends AndroidApplication {
    private InterstitialAd interstitial;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
        cfg.useGL20 = false;

        initialize(new Library(), cfg);

        setContentView(R.layout.activity_main);

        // Prepare the Interstitial Ad
        interstitial = new InterstitialAd(MainActivity.this);
        // Insert the Ad Unit ID
        interstitial.setAdUnitId("ca-app-pub-123456789/123456789");

        //Locate the Banner Ad in activity_main.xml
        AdView adView = (AdView) this.findViewById(R.id.adView);

        // Request for Ads
        AdRequest adRequest = new AdRequest.Builder()

        // Add a test device to show Test Ads
         .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
         .addTestDevice("CC5F2C72DF2B356BBF0DA198")
                .build();

        // Load ads into Banner Ads
        adView.loadAd(adRequest);

        // Load ads into Interstitial Ads
        interstitial.loadAd(adRequest);

        // Prepare an Interstitial Ad Listener
        interstitial.setAdListener(new AdListener() {
            public void onAdLoaded() {
                // Call displayInterstitial() function
                displayInterstitial();
            }
        });

    }
    public void displayInterstitial() {
        // If Ads are loaded, show Interstitial else show nothing.
        if (interstitial.isLoaded()) {
            interstitial.show();
        }
    }
}

Actvity Main.xml

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

    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adSize="BANNER"
        ads:adUnitId="ca-app-pub-123456789/123456789" />

</LinearLayout>

Mainfest XML

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

    <uses-sdk android:minSdkVersion="1" android:targetSdkVersion="17" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="landscape"
            android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
    <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

    </application>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
</manifest>

错误:

11-22 11:23:55.144: E/AndroidRuntime(955): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx.Library/com.neodots.Library.MainActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class com.google.android.gms.ads.AdView
11-22 11:23:55.144: E/AndroidRuntime(955):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
11-22 11:23:55.144: E/AndroidRuntime(955):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
11-22 11:23:55.144: E/AndroidRuntime(955):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
11-22 11:23:55.144: E/AndroidRuntime(955):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
11-22 11:23:55.144: E/AndroidRuntime(955):  at android.os.Handler.dispatchMessage(Handler.java:99)
11-22 11:23:55.144: E/AndroidRuntime(955):  at android.os.Looper.loop(Looper.java:137)

我是android编码的新手,使用一些教程我写了这段代码。但是由于一堆错误,我现在无法运行我的应用程序。所以任何人都可以帮我解决,谢谢你提前... .................................................. .......

1 个答案:

答案 0 :(得分:0)

您的APK中似乎还没有包含GooglePlayServices库。由于您使用的是非标准建筑方式,因此您需要参考他们的文档,了解如何确保您的APK中包含GPS库。