amp@java

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            99 隨筆 :: 0 文章 :: 228 評論 :: 0 Trackbacks
          AdMob是往手機(jī)應(yīng)用程序里添加廣告的最流行的方式,Android程序基本都是靠這個(gè)賺錢。看文檔似乎很簡單,但是操作起來卻不是那么回事,今天搞了一上午才弄明白怎么正確添加,網(wǎng)上搜索到的資料都不適合最新的SDK。

          按照AdMob的官方文檔,很簡單,只要把AdMob的開發(fā)包jar放到Build Path的Libraries里面就行了,這樣做編譯是沒問題的,但是一運(yùn)行就會出錯(cuò),提示
          java.lang.NoClassDefFoundError:com.google.ads.AdView
          這是因?yàn)镚oogle最近更新了ADT到17.0,改變了項(xiàng)目依賴的檢測方式,官方的說明在這里,不過看得不是很懂。有人用圖形的方式標(biāo)了出來,容易理解一些,看這里。如果不求甚解,就把剛才放到Build Path里面的jar移除,直接在項(xiàng)目目錄下建立一個(gè)libs目錄,然后把那個(gè)jar文件放進(jìn)去就行了。

          AdMob SDK也更新到了4.3.1,網(wǎng)上搜索到的在XML文件里面設(shè)置AdView屬性的方法也已過時(shí),現(xiàn)在不需要建立attrs.xml文件,直接增加一個(gè)
          xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
          就可以在AdView標(biāo)簽里面設(shè)置ads開頭的屬性了,關(guān)于xml設(shè)置AdView屬性的官方文檔隱藏得比較深,沒有在目錄中列出來,只能在其他文檔里面的鏈接里進(jìn)去,在這里
          另外,按照官方說明,要在AndroidManifest.xml里面添加一個(gè)Activity的聲明:
              <activity android:name="com.google.ads.AdActivity"
                        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
          后面那個(gè)屬性android:configChanges的最后兩個(gè)值screenSize|smallestScreenSize是在Android 3.2后面才增加的,這兩個(gè)值必須填上去,否則運(yùn)行的時(shí)候會報(bào)錯(cuò)。如果你使用的SDK是3.2以下的,識別不了這兩個(gè)值,編譯也不會報(bào)錯(cuò)。因此你的項(xiàng)目必須使用Android 3.2以上的SDK,也就是項(xiàng)目根目錄下的project.properties文件里面的屬性target的值必須是android-13以上,例如
          target=android-15
          但是可以在AndroidManifest.xml里面設(shè)置android:minSdkVersion和android:targetSdkVersion為比13低的值,這樣就不需要安裝Android 3.2以上的手機(jī)或平板來運(yùn)行這個(gè)程序,實(shí)際上AdMob支持Android 1.5以上的系統(tǒng),只是開發(fā)需要更高版本的SDK而已。


          這次折騰讓我真正體會到Android更新得實(shí)在太快了,連官方的文檔都來不及更新,開發(fā)人員只能自己摸索總結(jié),幸好有強(qiáng)大的搜索工具,只要你遇到的問題不是第一個(gè),就會有人找到解決方案。



          posted on 2012-03-25 19:23 amp@java 閱讀(3718) 評論(7)  編輯  收藏 所屬分類: Android

          評論

          # re: 2012年3月最新版的ADT 17.0和Google AdMob Ads Sdk Android-4.3.1添加廣告的方法 2012-03-26 00:58 allenny
          正好在困惑這個(gè)事情,很及時(shí),謝謝~  回復(fù)  更多評論
            

          # re: 2012年3月最新版的ADT 17.0和Google AdMob Ads Sdk Android-4.3.1添加廣告的方法 2012-03-26 09:28 tb
          很好的方法   回復(fù)  更多評論
            

          # re: 2012年3月最新版的ADT 17.0和Google AdMob Ads Sdk Android-4.3.1添加廣告的方法 2012-03-27 11:06 選礦設(shè)備
          admob 不錯(cuò)  回復(fù)  更多評論
            

          # re: 2012年3月最新版的ADT 17.0和Google AdMob Ads Sdk Android-4.3.1添加廣告的方法 2012-03-27 17:56 Sevan
          贊樓主,搞了一下午的問題終于解決了~~~  回復(fù)  更多評論
            

          # re: 2012年3月最新版的ADT 17.0和Google AdMob Ads Sdk Android-4.3.1添加廣告的方法 2012-03-30 07:52 tbw淘寶商城
          很不錯(cuò)的   回復(fù)  更多評論
            

          # re: 2012年3月最新版的ADT 17.0和Google AdMob Ads Sdk Android-4.3.1添加廣告的方法[未登錄] 2012-04-08 20:02
          多謝啊 雪中送炭  回復(fù)  更多評論
            

          主站蜘蛛池模板: 普格县| 绿春县| 正定县| 阿克陶县| 赤峰市| 苗栗市| 岫岩| 厦门市| 开鲁县| 全州县| 丰原市| 密山市| 茶陵县| 荔浦县| 盐津县| 镇远县| 逊克县| 金湖县| 嘉荫县| 海伦市| 静海县| 景东| 鄯善县| 古丈县| 高唐县| 衢州市| 漠河县| 江阴市| 丹东市| 若羌县| 广宁县| 望都县| 浪卡子县| 海丰县| 东台市| 邵东县| 林芝县| 双城市| 舞阳县| 鄂温| 林甸县|