Als ich den Anweisungen zum Hinzufügen einer Anzeige per XML zu meiner App folgte, wurden folgende Fehler angezeigt:
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
Ich habe die Datei bearbeitet main.xml
, hinzugefügt attrs.xml
, aber der Compiler hat sie nicht gemocht.
Antworten:
Ersetzen Sie
/res/
durch/lib/
in Ihrem benutzerdefinierten Layout Nampespace.xmlns:android="http://schemas.android.com/apk/res/android"
in Ihrem Fall wäre:xmlns:yourApp="http://schemas.android.com/apk/lib/com.yourAppPackege.yourClass"
Ich hoffe, es hilft.
quelle
Ich hatte das gleiche Problem. Ich habe den Beispielcode aus dem Google-Code kopiert und konnte ihn nicht kompilieren.
Schließlich habe ich es herausgefunden. Der letzte Teil des Codes "
com.google.example
" ist der Paketname, daher müssen Sie ihn durch Ihr Projektpaket ersetzen.Zum Beispiel ist mein Projektpaket "
com.jms.AdmobExample
", alsoads
lautet mein Namensraum:Überprüfen Sie mein Beispiel, es funktioniert gut. Sie können die APK herunterladen, um es zu versuchen. Ich habe hier auch meinen Quellcode eingefügt : Google Admob in der Android-Anwendung hinzufügen
quelle
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
für mich muss ich hinzufügen
gleich nach:
in res / layout / main.xml
quelle
Sie können auch http://schemas.android.com/apk/res-auto verwenden , das sich automatisch darum kümmert. Verwenden Sie es so:
quelle
Ich hatte das gleiche Problem, aber während ich ein Bibliotheksprojekt benutzte. Das Problem wurde in r17 behoben: Anstatt den Namespace des Pakets zu verwenden:
Man muss einen Dummy-Namespace verwenden:
Dadurch wird das Problem behoben, dass über das referenzierende Projekt nicht auf die Attribute zugegriffen werden kann.
quelle
Ich lade die gleiche benutzerdefinierte Demo von Android.com herunter und bekomme das gleiche Problem.
bei frist ändere ich mich
zu
es funktioniert . dann bekomme ich eine andere lösung
es funktioniert auch, aber es gibt einige Unterschiede. Die zweite Lösung hat eine Präfektenfunktion. Ich finde den Grund, vielleicht können Sie mithelfen. Danke
quelle
Wie Sie in Ihrem
attrs.xml
adSize-Attribut angegeben haben, gehört es zum Namespacecom.google.ads.AdView
. Versuche zu ändern:zu
und es sollte funktionieren.
quelle
Ich habe diesen Fehler in Bezug auf das largeHeap-Attribut erhalten. Meine Anwendung wurde nicht unter Eclipse ausgeführt, aber unter ant wurde sie weiterhin normal erstellt und ausgeführt.
Die Android- Dokumentation besagt, dass:
Ich habe diese Zeile in meinem Manifest gelöscht, in Eclipse gespeichert, die Zeile wieder eingefügt und erneut gespeichert, und es hat funktioniert. In meinem Fall war das Problem vermutlich, dass Eclipse, Ant und AdB nicht richtig miteinander sprachen und das Speichern etwas zurücksetzte. Interessanterweise hat ein Neustart von Eclipse dieses Problem nicht gelöst (normalerweise sollten Sie bei solchen Problemen zuerst einen Neustart von Eclipse versuchen, und normalerweise wird das Problem dadurch gelöst).
quelle
Stellen Sie sicher, dass Sie diesen Teil in Ihr Layout aufgenommen haben (oben unter xmlns: android line)
Überprüfen Sie auch, ob Sie attrs.xml in res / values / aufgenommen haben
Überprüfen Sie hier für weitere Details. http://code.google.com/mobile/ads/docs/android/banner_xml.html
quelle
Aufgrund der Antwort hier denke ich, dass Sie das Attribut xmlns: ads ändern müssen. Ändern Sie dies beispielsweise:
<com.google.ads.AdView xmlns:ads="http://schemas.android.com/apk/res/com.google.example .../>
dazu:
<com.google.ads.AdView xmlns:ads="http://schemas.android.com/apk/res/com.your.app.namespace" .../>
Es hat es für mich behoben. Wenn Sie immer noch Fehler erhalten, können Sie dies näher erläutern?
quelle
Normalerweise binde ich die Eigenschaft xmlns: ads wie folgt in die Eigenschaften von adview ein:
Damit Sie nicht jedes Mal, wenn Sie den Adview kopieren, in das übergeordnete Element einbetten müssen.
Kopieren Sie einfach den obigen Hinweis und fügen Sie ihn an einer beliebigen Stelle ein. Es sollte funktionieren
quelle
Ich habe nach einer Antwort gesucht, konnte sie aber nicht finden, aber schließlich konnte ich dies durch Hinzufügen einer
play-service-ads
Abhängigkeit beheben. Versuchen wir Folgendes:*) Datei -> Projektstruktur ... -> Unter dem Modul finden Sie die App und es gibt eine Option namens Abhängigkeiten. Sie können Ihrem Projekt die Abhängigkeit com.google.android.gms: play-services-ads: xxx hinzufügen
Dieses Problem trat auf, als ich versuchte, Eclipse-Projekte in Android Studio zu importieren.
quelle
In meinem Fall fehlte mir eine Abhängigkeit im build.gradle auf App-Ebene.
Die Lösung bestand darin, die Abhängigkeit wie folgt hinzuzufügen:
Öffnen Sie die Datei build.gradle auf App-Ebene für Ihre App und suchen Sie nach einem Abschnitt "Abhängigkeiten".
Fügen Sie die obige Zeile hinzu, in der Gradle angewiesen wird, die neueste Version des Mobile Ads SDK und weitere damit verbundene Abhängigkeiten abzurufen. Speichern Sie anschließend die Datei und führen Sie eine Gradle-Synchronisierung durch.
quelle
Ich hatte auch das gleiche Problem, das ich verwendet habe, als
GoogleAdMobAdsSDK-4.1.0.jar
ich es ausprobiert habe.GoogleAdMobAdsSDK-4.0.4.jar
Jetzt funktioniert es einwandfrei. Nach meiner Erfahrung ist es ein Problem mit der JAR-Datei.quelle
Ich hatte ein ähnliches Problem mit MonoDroid beim Erstellen einer Klassenbibliothek mit Drawables- und Layouts-Dateien, die
"android:"
Attribute in der XML haben. Ich erhalte einen ähnlichen Fehler wie in der Frage.Ich habe festgestellt, dass das Attribut "android:" nur in Android API Level 12+ verfügbar ist, und ich habe versucht, für eine ältere Version zu erstellen. Das Aktualisieren meines Projekts auf Android 4.0 hat das Problem für mich behoben. Hier habe ich die Antwort gefunden. https://groups.google.com/forum/?fromgroups#!topic/android-developers/ocxKphM5MWM Stellen Sie einfach sicher, dass Sie mit der richtigen API-Ebene arbeiten, wenn Sie ein ähnliches Problem erhalten, und stellen Sie sicher, dass die fehlende Kennung in vorhanden ist die API-Ebene, gegen die Sie erstellt werden.
quelle
Ändern Sie einfach das Ziel-SDK. Klicken Sie mit der rechten Maustaste auf das Projekt, klicken Sie dann auf die Eigenschaft Android auswählen und wählen Sie die neueste API aus
quelle
Der gleiche Fehler ist mir in der Datei "activity_banner_xml.xml" im Ordner res / layout passiert. Was ich getan habe, um es zu reparieren, war ersetzen
mit
Es gab keine Verweise auf meinen Paketnamen. Stellen Sie außerdem sicher, dass Sie die adUnitId für festlegen
ads:adUnitId="@string/banner_ad_unit_id">
Die der hinzugefügten Einheit befindet sich in Ihrem Ordner res / Values / Strings.Meine endgültige Layoutdatei sieht also folgendermaßen aus:
quelle
Wenn es sich bei Ihrem um ein Gradle-Projekt handelt, ersetzen Sie:
mit:
quelle
Ich füge die Lösung hinzu, die für denselben Fehler bei mir funktioniert hat.
Ich habe mit der rechten Maustaste auf Projekt> Eigenschaften> (linkes Feld) Android geklickt
Rechts unter
Library
Ich habe die fehlerhafte Bibliothek entfernt und erneut hinzugefügt.Bei mir trat dieser Fehler nach einer beschädigten Eclipse-Datei im Arbeitsbereich auf, in der ich alle Projekte erneut importieren musste.
quelle
Mein Problem war sehr ähnlich (erzeugt das gleiche Problem). Nach dem Refactoring des Variablennamens durch die Option "refactor -> rename" in Android Studio (von "value" zu "myValue") habe ich auch Änderungen in der Manifestdatei gefunden. Der "Wert" -Pool für Metadaten wurde in "myValue" geändert.
Nach dem Zurücksetzen der Datei scheint alles wieder in Ordnung zu sein.
Ich hoffe, es wird jemandem helfen!
quelle
Fügen Sie xmlns hinzu: ads = "http://schemas.android.com/apk/lib/com.google.ads" . Dadurch wird Ihr Problem behoben .
quelle
Ersetzen
xmlns:android="http://schemas.android.com/apk/res/android"
durchxmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
dann Projekt neu erstellen
quelle
Ich habe in android.support.design.widget.NawigationView diesen Parameter hinzugefügt :
Und das Problem wurde gelöst.
quelle
Ich hatte das gleiche Problem und meine Heilung besteht darin, einfach die Datenbindung im build.gradle meines App-Moduls zu aktivieren.
ref - https://halfthought.wordpress.com/2016/03/23/2-way-data-binding-on-android/
quelle
Geben Sie
compile 'de.hdodenhof:circleimageview:2.0.0'
Gradle Dependencies ein und fügen Sie diesen Code in nav_header_main.xml einquelle