Ошибка: идентификатор ресурса не найден для атрибута adSize в пакете com.google.example. main.xml

Когда я выполнил инструкции по добавлению объявления в мое приложение с помощью xml, я получил следующие ошибки:

Description Resource Path Location Type
error: No resource identifier found for attribute 'adSize' in package 'com.google.example'  main.xml    /HelloWorld/res/layout  line 12 Android AAPT Problem
Description Resource Path Location Type
error: No resource identifier found for attribute 'adUnitId' in package 'com.google.example'    main.xml    /HelloWorld/res/layout  line 12 Android AAPT Problem

Я редактировал файл main.xml, добавляет attrs.xml, но компилятору это не понравилось.

Ответ 1

Замените /res/ на /lib/ в вашем пользовательском макете.

xmlns:android="http://schemas.android.com/apk/res/android" в вашем случае будет:

xmlns:yourApp="http://schemas.android.com/apk/lib/com.yourAppPackege.yourClass"

Надеюсь, это поможет.

Ответ 2

У меня была та же проблема. Я скопировал код примера из кода Google и не смог скомпилировать.

xmlns:ads="http://schemas.android.com/apk/res/com.google.example"
Наконец, я понял это. Последняя часть кода "com.google.example " - это имя своего пакета, поэтому вам нужно заменить его на свой пакет проектов.

Например, мой пакет проектов "com.jms.AdmobExample", поэтому мое пространство имен ads:

xmlns:ads="http://schemas.android.com/apk/res/com.jms.AdmobExample"

Проверьте мой пример, он отлично работает. Вы можете загрузить APK, чтобы попробовать. Я также разместил здесь свой исходный код: Добавить Google Admob в приложении для Android

Ответ 3

для меня, я должен добавить

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

сразу после:

xmlns:android="http://schemas.android.com/apk/res/android"

в res/layout/main.xml

Ответ 4

Вы также можете использовать http://schemas.android.com/apk/res-auto, который позаботится об этом автоматически. Используйте его так:

xmlns:ads="http://schemas.android.com/apk/res-auto"

Ответ 5

У меня была такая же проблема, но при использовании проекта библиотеки. Вопрос был решен в r17: Вместо использования пространства имен пакетов:

xmlns:app="http://schemas.android.com/apk/res/hu.droidium.exercises"

Нужно использовать пустое пространство имен:

xmlns:app="http://schemas.android.com/apk/res-auto"

Это позволит устранить проблему недоступности атрибутов из проекта-ссылки.

Ответ 6

i загрузите одну и ту же пользовательскую демонстрацию из Android.com и получите ту же самую проблему.

в frist, я меняю

xmlns:custom="http://schemas.android.com/apk/res/com.example.android.customviews"

к

xmlns:custom="http://schemas.android.com/apk/lib/com.example.android.customviews"

он работает. то я получаю другое решение

 xmlns:custom="http://schemas.android.com/apk/res-auto"

он также работает, но есть некоторые отличия. Второе решение имеет функцию префекта. я нахожу причину, может быть, вы можете иметь руку. thanks

Ответ 7

Как вы указываете в своем attrs.xml, ваш атрибут adSize принадлежит пространству имен com.google.ads.AdView. Попробуйте изменить:

android:adUnitId="a14bd6d2c63e055"         android:adSize="BANNER"

к

ads:adUnitId="a14bd6d2c63e055"         ads:adSize="BANNER"

и он должен работать.

Ответ 8

Я получил эту ошибку в отношении атрибута largeHeap, мое приложение не запускалось под затмением, но в ant оно все еще было создано и запускалось нормально.

Андроид документация гласит, что:

XMLNS: Android

Defines the Android namespace. This attribute should always be set to "http://schemas.android.com/apk/res/android".

Я стирал эту строку в своем манифесте, сохранял в затмении, вставлял строку обратно и снова сохранял, и это сработало. В моем случае я предполагаю, что проблема была в eclipse, ant и adb не говорили друг с другом правильно и сохраняли reset что-то. Интересно, что перезапуск затмения не решило эту проблему (обычно с этими типами проблем перезапуск eclipse - это первое, что вы должны попробовать, и обычно оно решает проблему).

Ответ 9

Убедитесь, что вы включили эту часть в свой макет (вверху ниже xmlns: android line)

xmlns:ads="http://schemas.android.com/apk/res/com.google.example" 
...........blah blah..

Также проверьте, включили ли вы attrs.xml в res/values ​​/

Подробнее здесь. http://code.google.com/mobile/ads/docs/android/banner_xml.html

Ответ 10

Основываясь на ответе здесь, я думаю, вам нужно изменить атрибут xmlns: ads. Например, измените это:

<com.google.ads.AdView xmlns:ads="http://schemas.android.com/apk/res/com.google.example .../>

:

<com.google.ads.AdView xmlns:ads="http://schemas.android.com/apk/res/com.your.app.namespace" .../>

Он исправил это для меня. Если вы все еще получаете ошибки, не могли бы вы уточнить?

Ответ 11

Я обычно встраиваю свойство xmlns: ads в свойства adview следующим образом:

<com.google.android.gms.ads.AdView
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:id="@+id/adView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="@string/banner_ad_unit_id"/>

так что вам не нужно вставлять родительский элемент каждый раз и каждый раз при копировании объявления.

Просто скопируйте и вставьте объявление вверху и вставьте его в любом месте, и он должен работать

Ответ 12

Я искал ответ, но не смог найти, но, наконец, я мог бы исправить это, добавив play-service-ads dependency, попробовав это:

*) Файл → Структура проекта... → В модуле вы можете найти приложение, и есть опция, называемая зависимостями, и вы можете добавить com.google.android.gms: play-services-ads: xxx для вашего проекта

Мне пришлось столкнуться с этой проблемой, когда я пытаюсь импортировать проекты Eclipse в Android Studio.

Изображение

Ответ 13

Я также столкнулся с той же проблемой, я использовал GoogleAdMobAdsSDK-4.1.0.jar, затем я попытался с помощью GoogleAdMobAdsSDK-4.0.4.jar теперь он работает нормально, это проблема с файлом jar в соответствии с моим опытом.

Ответ 14

У меня была аналогичная проблема с MonoDroid при создании библиотеки классов с файлами Drawables и Layouts с атрибутом "android:" в xml. Я получаю аналогичную ошибку, как и в вопросе.

Идентификатор ресурса не найден для атрибута 'textCursorDrawable' в пакет 'android'

Я обнаружил, что атрибут "android:" доступен только в Android API Level 12+, и я пытался создать более старую версию. Обновление моего проекта для сборки с Android 4.0 исправило проблему для меня. Вот где я нашел ответ. https://groups.google.com/forum/?fromgroups#!topic/android-developers/ocxKphM5MWM Просто убедитесь, что вы строите против правильного уровня API, если у вас есть аналогичная проблема, и убедитесь, что отсутствующий идентификатор существует на том уровне API, с которым вы создаете.

Ответ 15

просто измените целевой sdk правой кнопкой мыши на проект, затем нажмите свойство select android и выберите последний API

Ответ 16

То же самое происходило со мной в файле "activity_banner_xml.xml" внутри папки res/layout. Что я сделал, чтобы исправить это, заменил

<com.google.android.gms.samples.ads.AdView

с

<com.google.android.gms.ads.AdView

Не было ссылок на имя моего пакета. Кроме того, убедитесь, что вы установили adUnitId для ads:adUnitId="@string/banner_ad_unit_id"> Идентификатор элемента добавления находится в папке res/Values ​​/Strings.

Итак, мой окончательный файл макета выглядит так:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    ads:adSize="BANNER"
    ads:adUnitId="@string/ad_unit_id"/>

Ответ 17

Если ваш проект gradle заменяет:

xmlns:android="http://schemas.android.com/apk/res/android" 

с:

xmlns:app="http://schemas.android.com/apk/res-auto"

Ответ 18

Я добавляю решение, которое работало для меня для этой же ошибки.

Я щелкнул правой кнопкой мыши проект > свойствa > (левая панель) Android

Правая панель под Library Я удалил неисправную библиотеку и добавил ее снова.

Для меня эта ошибка произошла после файла поврежденного рабочего пространства eclipse, где мне пришлось снова импортировать все проекты.

Ответ 19

Моя проблема была очень похожа (вызывает такую ​​же проблему). После рефакторинга имени переменной с помощью опции "refactor → rename" в Android Studio (от "value" до "myValue" ) я также обнаружил изменения в файле манифеста. Пул значений "значение" метаданных изменился на "myValue".

<meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:myValue="@string/facebook_app_id"/>

После возврата файла все швы будут в порядке.

<meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/facebook_app_id"/>

Надеюсь, это поможет кому-то!

Ответ 20

Добавить xmlns: ads = "http://schemas.android.com/apk/lib/com.google.ads" , Это решит вашу проблему.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.app.activities.Initializer" >


    <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"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>

Ответ 21

Заменить xmlns:android="http://schemas.android.com/apk/res/android" с xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"

затем перестроить проект

Ответ 22

Я добавил в android.support.design.widget.Nawigation Просмотрите этот параметр:

android:layout_gravity="start"

И проблема была решена.

Ответ 24

В моем случае мне не хватало зависимости на уровне приложения build.gradle.

Решением было добавить зависимость, как показано ниже в Google:

Откройте файл build.gradle уровня приложения для своего приложения и найдите раздел "зависимости".

dependencies {
    implementation ...SOME_IMPLEMENTATION
    implementation ...SOME_IMPLEMENTATION
    implementation 'com.google.android.gms:play-services-ads:18.1.1'//<---ADD THIS LINE
}

Добавьте строку выше, которая инструктирует Gradle добавить последнюю версию Mobile Ads SDK и дополнительные связанные зависимости. Как только это будет сделано, сохраните файл и выполните синхронизацию Gradle.

Ответ 25

PUT compile 'de.hdodenhof:circleimageview:2.0.0' IN Gradle Зависимости и поместите этот код в nav_header_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/lib/org.mainsoft.navigationdrawer"

    android:gravity="bottom"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:theme="@style/ThemeOverlay.AppCompat.Dark"
    android:layout_width="match_parent"
    android:layout_height="160dp"
    android:background="@drawable/background_material_red"
    android:orientation="vertical">

<de.hdodenhof.circleimageview.CircleImageView

    android:id="@+id/profile_image"
    android:layout_width="70dp"
    android:layout_height="70dp"
    android:src="@drawable/profile"
    app:border_color="#FF000000"
    android:layout_marginLeft="24dp"
    android:layout_centerVertical="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginStart="24dp" />

</LinearLayout>