2014-12-06 105 views
0

當我運行它時會產生java堆空間錯誤,並且它會再次提示「您的項目包含錯誤,請在運行前修復它們」,並再次顯示與「發生內部錯誤請關閉工作臺」相關的消息顯示。我也使用手機的測試ID,但每次都發生相同的錯誤。Android橫幅不起作用

版式文件:

activity_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`enter code here` 
      android:id="@+id/adView" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      ads:adSize=" SMART_BANNER " 
      ads:adUnitId="ca-app-pub-7222219345251053/8664557124" /> 

    </LinearLayout> 

newadmobtutorialmanifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.androidbegin.newadmobtutorial" 
     android:versionCode="1" 
     android:versionName="1.0" > 

     <uses-sdk 
      android:minSdkVersion="9" 
      android:targetSdkVersion="18" /> 

     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
     <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
     <application 
      android:icon="@drawable/ic_launcher" 
      android:label="@string/app_name" 
      android:theme="@style/AppTheme" > 
      <activity 
       android:name=".MainActivity" 
       android:label="@string/title_activity_main" > 
       <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> 

    </manifest> 

mainActivity.java

package com.androidbegin.newadmobtutorial; 

    import com.google.android.gms.ads.AdListener; 
    import com.google.android.gms.ads.AdRequest; 
    import com.google.android.gms.ads.AdSize; 
    import com.google.android.gms.ads.AdView; 
    import com.google.android.gms.ads.InterstitialAd; 

    import android.os.Bundle; 
    import android.app.Activity; 

    public class MainActivity extends Activity { 
     private InterstitialAd interstitial; 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      // Get the view from activity_main.xml 
      setContentView(R.layout.activity_main); 

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

      //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("EB81B984CF6F807FED26757A39F8FF") 
        .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(); 
      } 
     } 
    } 

,這是我的eclipse.ini

-startup 
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar 
--launcher.library 
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120913-144807 
-product 
com.android.ide.eclipse.adt.package.adtproduct 
-showsplash 
org.eclipse.platform 
--launcher.XXMaxPermSize 
512m 
--launcher.defaultAction 
openFile 
-vmargs 「c:\Program Files\Java\jdk1.7.0_07\bin\javaw.exe」 
-Dosgi.requiredJavaVersion=1.7 
-XX:MaxPermSize=2028m 
-XX:CompileThreshold=5 
-XX:MaxGCPauseMillis=10 
-XX:MaxHeapFreeRatio=70 
-Xms2028m 
-Xmx6120m 
+1

雖然我假設你想要某人解釋爲什麼你會得到一個java堆空間錯誤,如果你真的問這個問題會更好,並且還提到了你試圖去修復它(除了發佈堆棧溢出)。 – 2014-12-06 10:43:45

回答

0

嘗試從動態設置adUnitId,例如,

<uradreference>.setAdUnitId("ca-app-pub-7409237681170791/6275305467"); 

也試用ads:adSize="BANNER"先!它應該工作。

+0

當我在構建路徑中檢查庫(Android私有庫是谷歌播放服務.jar)和(Android依賴在google-play-services_lib.jar)>>配置構建路徑>>訂單和出口然後它掛起當我取消選中,比它給出的錯誤「'com.google.android.gms.ads.AdView',從方法com.google.android.gms.samples.ads.BannerXmlActivity.onCreate」 – user3386781 2014-12-15 08:55:03

+0

引用我已經使用的所有東西與此錯誤相關的堆棧流「com.google.android.gms.ads.AdView」,從com.google.android.gms.samples.ads.BannerXmlActivity.onCreate方法引用。但仍然存在錯誤。 – user3386781 2014-12-15 08:56:46