AdMob в Android AdView отсутствует обязательный атрибут XML «adSize»

Я пытаюсь внедрить AdMob в свое приложение. Но не знаю, как это показывает эту ошибку, и мой файл R.java не создается из-за этого. Я перепробовал все способы решения этой проблемы, такие как Clean, Build, Build All. Но не работает для меня. Следуя моему фрагменту кода, в котором отображается ошибка «Ошибка при разборе 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/lib/com.google.ads" 
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical"
android:background="@color/bgcolor">

<LinearLayout
android:id="@+id/Linearlayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >

<com.google.ads.AdView android:id="@+id/adView"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         ads:adSize="BANNER"
                         ads:adUnitId="XXX"
                         ads:refreshInterval="60"/>


</LinearLayout>

Пожалуйста, помогите мне. Я застрял здесь :(


person YuDroid    schedule 25.08.2011    source источник


Ответы (3)


Вероятно, проблема с пространством имен. Вы должны определить пространство имен.

попробуйте добавить

xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"

person Eren Tantekin    schedule 25.08.2011
comment
Я попытался добавить строку выше, но она также не работает. Чтобы вышеизложенное работало, мне также нужно создать папку «lib» в каталоге «res» и скопировать в нее банку AdMob ?? - person YuDroid; 25.08.2011
comment
Позже, когда я снова пересобрал и очистил проект, вышеуказанное решение сработало для меня. Спасибо за Эрена - person YuDroid; 26.08.2011
comment
Еще одна вещь, которую нужно сделать здесь, заключается в том, что, когда я пытался использовать приведенный выше код, используя папку «libs», реклама не отображалась. Но когда я изменил его на «lib», он работал без проблем. - person YuDroid; 26.08.2011

Для нового Admob SDK (сервисы Google Play) требовалось другое пространство имен

xmlns:ads="http://schemas.android.com/apk/res-auto"
person itvdonsk    schedule 15.12.2013

<?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:id="@+id/rltvLayoutPromote"
    android:layout_height="fill_parent">
    <LinearLayout android:id="@+id/linearLayoutwebview"
        android:layout_height="wrap_content" android:layout_width="wrap_content"
        android:orientation="vertical">
        <WebView android:id="@+id/webViewPromote"
            android:layout_width="fill_parent" android:layout_height="fill_parent"
            android:fitsSystemWindows="true" />
    </LinearLayout>
    <LinearLayout android:layout_width="fill_parent"
        android:id="@+id/ad_layout" android:layout_height="wrap_content"
        android:gravity="bottom" android:layout_alignParentBottom="true"
        android:layout_alignBottom="@+id/home_layout">
        <com.google.ads.AdView android:layout_width="wrap_content"
            android:layout_height="wrap_content" ads:adUnitId="XXXXXXXXXX"
            ads:adSize="BANNER" android:id="@+id/adView" ads:refreshInterval="60" />
        <!--            put 3 if not working-->
    </LinearLayout>
</RelativeLayout>

и поместите эти строки в файл manifest.xml

  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  <meta-data android:value="true" android:name="ADMOB_ALLOW_LOCATION_FOR_ADS" />

приведенный выше код отлично работает для меня... посетите этот сайт для полной справки help forandroid-admob
Спасибо, Pragna

person Android    schedule 25.08.2011
comment
То, что я пытаюсь сделать, это небольшой фрагмент следующим образом. Можете ли вы проверить это и сказать мне, где я делаю ошибку? - person YuDroid; 25.08.2011
comment
Поскольку я новичок, мне не разрешено добавлять комментарии, превышающие допустимое количество символов. Итак, я отредактировал свой вопрос и добавил в него немного больше кода. - person YuDroid; 25.08.2011
comment
какую версию apk вы используете для этого? дайте мне знать - person Android; 25.08.2011
comment
да, ваш код работает для меня, я пытался использовать Android 1.4, я думаю, вам не хватает файла jar, посетите этот сайт code.google.com/mobile/ads/docs/android/fundamentals.html для полной справки. - person Android; 25.08.2011
comment
Я пробую это на Android 1.6. Также я добавил файл GoogleAdMobAdsSDK .jar. Но также реклама не отображается, когда я запускаю свое приложение в эмуляторе. - person YuDroid; 25.08.2011
comment
в первый раз подождите некоторое время это займет некоторое время - person Android; 25.08.2011
comment
Вы разместили свой id ads:adUnitId=ЗДЕСЬ на? - person Android; 25.08.2011