Gdy postępowałem zgodnie z instrukcjami dodawania reklamy do mojej aplikacji w formacie xml, otrzymałem następujące błędy:
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
Edytowałem main.xml
, dodałem attrs.xml
plik, ale kompilatorowi się to nie spodobało.
Odpowiedzi:
Wymień
/res/
się/lib/
w nampespace niestandardowy układ.xmlns:android="http://schemas.android.com/apk/res/android"
w twoim przypadku byłoby:xmlns:yourApp="http://schemas.android.com/apk/lib/com.yourAppPackege.yourClass"
Mam nadzieję, że to pomoże.
źródło
Miałem ten sam problem. Skopiowałem przykładowy kod z kodu Google i nie mogłem się skompilować.
W końcu to rozgryzłem. Ostatnia część „
com.google.example
” kodu to nazwa pakietu, więc musisz ją zastąpić pakietem projektu.Na przykład mój pakiet projektu to „
com.jms.AdmobExample
”, więc mojaads
przestrzeń nazw to:Sprawdź mój przykład, działa dobrze. Możesz pobrać APK, aby spróbować. Tutaj również umieściłem mój kod źródłowy: Dodaj Google AdMob w aplikacji na Androida
źródło
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
dla mnie muszę dodać
zaraz po:
w res / layout / main.xml
źródło
Możesz także użyć http://schemas.android.com/apk/res-auto , które zajmie się tym automatycznie. Użyj tego w ten sposób:
źródło
Miałem ten sam problem, ale podczas korzystania z projektu biblioteki. Problem został rozwiązany w r17: Zamiast używać przestrzeni nazw pakietu:
Należy użyć fikcyjnej przestrzeni nazw:
Rozwiązuje to problem z atrybutami niedostępnymi z projektu, do którego się odwołują.
źródło
Pobieram to samo niestandardowe demo z Android.com i otrzymuję ten sam problem ze zgodnością.
po pierwsze, zmieniam się
do
działa . wtedy otrzymuję inne rozwiązanie
to też działa, ale są pewne różnice. Drugie rozwiązanie pełni funkcję prefekta. znajduję powód, może możesz mi pomóc. dzięki
źródło
Jak określisz w swoim
attrs.xml
adSize, atrybut należy do przestrzeni nazwcom.google.ads.AdView
. Spróbuj zmienić:do
i powinno działać.
źródło
Otrzymałem ten błąd w odniesieniu do atrybutu largeHeap, moja aplikacja nie działała pod zaćmieniem, ale pod ant nadal budowała się i działała normalnie.
Android dokumentacja wskazuje, że:
Usunąłem tę linię w moim manifeście, zapisałem w zaćmieniu, wkleiłem ją z powrotem i ponownie zapisałem i zadziałało. W moim przypadku problemem chyba było zaćmienie, ant i adb nie rozmawiają ze sobą poprawnie, a zapisywanie coś resetuje. Co ciekawe, ponowne uruchomienie Eclipse nie rozwiązało tego problemu (zwykle w przypadku tego typu problemów ponowne uruchomienie Eclipse jest pierwszą rzeczą, którą należy spróbować i zazwyczaj rozwiązuje problem).
źródło
Upewnij się, że umieściłeś tę część w swoim układzie (u góry poniżej xmlns: linia android)
Sprawdź również, czy dołączyłeś attrs.xml do res / values /
Sprawdź tutaj, aby uzyskać więcej informacji. http://code.google.com/mobile/ads/docs/android/banner_xml.html
źródło
Opierając się na odpowiedzi tutaj , myślę, że musisz zmienić atrybut xmlns: ads. Na przykład zmień to:
<com.google.ads.AdView xmlns:ads="http://schemas.android.com/apk/res/com.google.example .../>
do tego:
<com.google.ads.AdView xmlns:ads="http://schemas.android.com/apk/res/com.your.app.namespace" .../>
Naprawiło to dla mnie. Jeśli nadal otrzymujesz błędy, czy możesz to rozwinąć?
źródło
Zwykle osadzam właściwość xmlns: ads we właściwościach adview w ten sposób:
aby nie trzeba było osadzać w rodzicu za każdym razem, gdy kopiujesz adiew.
Po prostu skopiuj i wklej powyższą poradę i wklej ją w dowolnym miejscu i powinno działać
źródło
Szukałem odpowiedzi, ale nie mogłem znaleźć, ale w końcu mogłem to naprawić, dodając
play-service-ads
zależność, spróbujmy tego:*) Plik -> Struktura projektu ... -> Pod modułem znajdziesz aplikację i opcję o nazwie zależności oraz możesz dodać com.google.android.gms: play-services-ads: xxx zależność do twojego projektu
Napotkałem ten problem, próbując zaimportować projekty Eclipse do Android Studio.
źródło
W moim przypadku brakowało zależności w pliku build.gradle na poziomie aplikacji.
Rozwiązaniem było dodanie zależności zgodnie z zarysami Google poniżej:
Otwórz plik build.gradle na poziomie aplikacji dla swojej aplikacji i poszukaj sekcji „zależności”.
Dodaj powyższy wiersz, który instruuje Gradle, aby pobierał najnowszą wersję pakietu SDK do reklam mobilnych i dodatkowe powiązane zależności. Gdy to zrobisz, zapisz plik i przeprowadź synchronizację Gradle.
źródło
Napotkałem również ten sam problem, którego używałem,
GoogleAdMobAdsSDK-4.1.0.jar
a następnie próbowałem,GoogleAdMobAdsSDK-4.0.4.jar
teraz działa dobrze, jest to problem z plikiem jar, zgodnie z moim doświadczeniem.źródło
Miałem podobny problem na MonoDroid podczas tworzenia biblioteki klas z plikami Drawables i Layouts, które mają
"android:"
atrybut w XML. Otrzymuję podobny błąd jak ten w pytaniu.Stwierdziłem, że atrybut „android:” jest dostępny tylko w interfejsie API systemu Android na poziomie 12 lub wyższym, a ja próbowałem zbudować dla starszej wersji. Zaktualizowanie mojego projektu do kompilacji na Androida 4.0 rozwiązało problem. Tutaj znalazłem odpowiedź. https://groups.google.com/forum/?fromgroups#!topic/android-developers/ocxKphM5MWM Po prostu upewnij się, że tworzysz na odpowiednim poziomie API, jeśli napotkasz podobny problem, i upewnij się, że brakujący identyfikator istnieje w ten poziom interfejsu API, na podstawie którego tworzysz.
źródło
po prostu zmień docelowy zestaw SDK, kliknij prawym przyciskiem myszy projekt, a następnie kliknij właściwość, wybierz androida i wybierz najnowszy interfejs API
źródło
Ten sam błąd występował ze mną w pliku „activity_banner_xml.xml” w folderze res / layout. To, co zrobiłem, aby to naprawić, to wymienić
z
Nie było żadnych odniesień do mojej nazwy pakietu. Upewnij się również, że ustawiłeś adUnitId dla
ads:adUnitId="@string/banner_ad_unit_id">
Id jednostki dodawania znajduje się w folderze res / Values / Strings.Więc mój ostateczny plik układu wygląda tak:
źródło
Jeśli twój jest projektem Gradle, wymień:
z:
źródło
Dodaję rozwiązanie, które działało u mnie w przypadku tego samego błędu.
Kliknąłem prawym przyciskiem myszy projekt> właściwości> (lewy panel) Android
Prawy panel pod
Library
Usunąłem wadliwą bibliotekę i dodałem ją ponownie.U mnie ten błąd wystąpił po uszkodzonym pliku zaćmienia obszaru roboczego, w którym musiałem ponownie zaimportować wszystkie projekty.
źródło
Mój problem był bardzo podobny (powoduje ten sam problem). Po refaktoryzacji nazwy zmiennej za pomocą opcji „refactor -> rename” w Android Studio (z „value” na „myValue”) znalazłem również zmiany w pliku manifestu. Pula „value” metadanych została zmieniona na „myValue”.
Po przywróceniu pliku wszystko wydaje się być znowu w porządku.
Mam nadzieję, że komuś to pomoże!
źródło
Dodaj xmlns: ads = "http://schemas.android.com/apk/lib/com.google.ads". To rozwiąże Twój problem.
źródło
wymienić
xmlns:android="http://schemas.android.com/apk/res/android"
zxmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
następnie Odbuduj projekt
źródło
Dodałem w android.support.design.widget.Nawigation Zobacz ten parametr:
I problem został rozwiązany.
źródło
Miałem ten sam problem i moim lekarstwem jest po prostu włączenie powiązania danych w pliku build.gradle mojego modułu aplikacji.
ref - https://halfthought.wordpress.com/2016/03/23/2-way-data-binding-on-android/
źródło
PUT
compile 'de.hdodenhof:circleimageview:2.0.0'
NA Gradle zależności i umieścić ten kod w nav_header_main.xmlźródło