오류 : 'com.google.example'main.xml 패키지에서 'adSize'속성에 대한 리소스 식별자가 없습니다.


144

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
레이아웃과 attrs.xml 붙여 넣기
Cristian

답변:


299

교체 /res//lib/사용자 정의 레이아웃 nampespace한다.

xmlns:android="http://schemas.android.com/apk/res/android" 귀하의 경우에는 다음과 같습니다.

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

도움이 되길 바랍니다.


다른 문제가 있었지만 동일한 솔루션이 작동했습니다. 기본적으로 나는 여기 지시에 따라 / lib로 변경 한 / res 파일을 참조하는 레이아웃 파일을 사용하고 있었고 작동했습니다. 여기서 무슨 일이 일어나고 있는지 설명해 줄 수 있습니까?
RightHandedMonkey

xmlns : yourApp = "schemas.android.com/apk/res-auto";
Faizan Mubasher

7
안녕하세요, 위의 솔루션에서 yourApp과 yourClass는 무엇입니까?
프로그래머

3
예를 작성하십시오
Iman Marashi

내가 그렇게하고 프로젝트를 다시 빌드 할 때마다 자동으로 이전과 동일하게 변환하고 오류가 발생합니다
Sagar Devanga

74

나는 같은 문제가 있었다. 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를 다운로드하여 사용해보십시오. 또한 소스 코드를 여기에 넣습니다 .Android 응용 프로그램에서 Google Admob 추가


13
개발자는 xmlns : ads에서 프로젝트 패키지를 사용하는 경우 James의 링크에서 'attrs.xml'을 추가해야합니다. 최신 Admob SDK의 경우 attrs.xml은 더 이상 권장되지 않습니다. 다음 네임 스페이스를 사용하십시오.xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
vivek.m

8
@ vivek.m, 정답을 알려 주셔서 감사합니다! 대신 apk / res는 'apklib'프로젝트 종속성의 경우 반드시 apk / lib를 사용해야합니다.
se.solovyev 2016 년

4
고마워, 나는 인터넷, 특히 Stackoverflow.com을 좋아합니다
htafoya

감사합니다. 3 시간 동안 검색하고 디버깅 한 후 마침내 팝업이 표시되어 수정되었습니다.
Vlad Schnakovszki

@ vivek.m 덕분에 com.google.ads와 함께 저에게 도움이되었습니다.
raddevus

42

나를 위해 추가해야합니다

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

직후:

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

res / layout / main.xml에


1
당신은 생명 & 수면 보호기입니다 ... 감사합니다, u 내 수면을 구했습니다 :)
Naruto



8

나는 같은 문제가 있었지만 도서관 프로젝트를 사용하는 동안. 이 문제는 r17에서 해결되었습니다. 패키지의 네임 스페이스를 사용하는 대신 :

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

더미 네임 스페이스를 사용해야합니다.

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

이는 참조 프로젝트에서 속성에 액세스 할 수없는 문제를 해결합니다.


8

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"

작동하지만 차이점이 있습니다. 두 번째 솔루션에는 지사 기능이 있습니다. 나는 이유를 찾고 있습니다, 당신은 손을 가질 수 있습니다. 감사합니다


" schemas.android.com/apk/res-auto "는 프로젝트에 정의 된 라이브러리뿐만 아니라 프로젝트에 정의 된 모든 속성을 추가합니다. 따라서 그것은 당신과 더 깔끔한 접근을 위해 작동합니다
SAIR

3

attrs.xmladSize 속성 에서 지정한대로 네임 스페이스에 속합니다 com.google.ads.AdView. 변경해보십시오.

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

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

작동해야합니다.


@FranciscoCorralesMorales 나는 그것을 추가했지만 여전히 작동하지 않습니다
Sagar Devanga

3

largeHeap 속성과 관련 하여이 오류가 발생했습니다. 응용 프로그램이 일식에서는 실행되지 않았지만 개미에서는 여전히 빌드되고 정상적으로 실행되었습니다.

안드로이드 문서 에는 다음과 같이 명시되어 있습니다.

xmlns : 안드로이드

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

매니페스트에서 해당 줄을 지우고 이클립스로 저장하고 다시 붙여 넣은 후 다시 저장하면 효과가 있습니다. 내 경우에는 문제가 일식, 개미와 adb가 서로 올바르게 이야기하지 않고 저장하면 무언가가 재설정되었다고 생각합니다. 흥미롭게도 이클립스를 다시 시작 해도이 문제가 해결되지 않았습니다 (일반적으로 이러한 유형의 문제로 이클립스를 다시 시작하는 것이 가장 먼저 시도해야하며 일반적으로 문제를 해결합니다).


이것은 "xmlns :"url의 변화를 pls url로 저장했습니다 :)
songyy

나는
Ruchir Baronia

2

레이아웃 에이 부분을 포함 시켰는지 확인하십시오 (xmlns : 맨 아래 줄)

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


1

여기 에 대한 답변을 바탕으로 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" .../>

그것은 나를 위해 그것을 고쳤다. 여전히 오류가 발생하면 정교하게 설명해 주시겠습니까?


1

일반적으로 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"/>

따라서 광고 뷰를 복사 할 때마다 부모에게 포함 할 필요가 없습니다.

위의 adview를 복사하여 붙여 넣기 만하면됩니다.


1

나는 대답을 찾고 있었지만 찾을 수 없었지만 마침내 나는 play-service-ads의존성 을 추가하여 이것을 고칠 수 있었다 .

*) 파일-> 프로젝트 구조 ...-> 모듈 아래에서 앱을 찾을 수 있으며 종속성이라는 옵션이 있으며 프로젝트 에 com.google.android.gms : play-services-ads : xxx 종속성을 추가 할 수 있습니다

Eclipse 프로젝트를 Android Studio로 가져 오려고 할 때이 문제에 직면했습니다.

영상


1

필자의 경우 앱 수준 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 동기화를 수행하십시오.


0

나는 또한 같은 문제에 직면하여 사용하고 있었고 지금 GoogleAdMobAdsSDK-4.1.0.jar시도해 보았습니다 GoogleAdMobAdsSDK-4.0.4.jar. 제 경험에 따라 jar 파일에 문제가 있습니다.


0

"android:"XML에 속성이있는 Drawables 및 Layouts 파일로 클래스 라이브러리를 작성할 때 MonoDroid에서 비슷한 문제가 발생했습니다 . 질문의 오류와 비슷한 오류가 발생합니다.

'android'패키지의 'textCursorDrawable'속성에 대한 자원 식별자가 없습니다.

"android :"속성은 Android API Level 12+에서만 사용할 수 있으며 이전 버전을 빌드하려고했습니다. Android 4.0에서 빌드하기 위해 프로젝트를 업데이트하면 문제가 해결되었습니다. 여기에 답이 있습니다. https://groups.google.com/forum/?fromgroups#!topic/android-developers/ocxKphM5MWM 비슷한 문제가 발생하면 올바른 API 수준을 구축하고 있는지 확인하고 누락 된 식별자가 빌드 한 API 레벨.


0

대상 SDK를 변경하고 프로젝트를 마우스 오른쪽 버튼으로 클릭 한 다음 속성을 클릭하고 android를 선택하고 최신 API를 선택하십시오.


0

res / layout 폴더의 "activity_banner_xml.xml"파일에서 동일한 오류가 발생했습니다. 내가 고 치던 것은 교체했다.

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

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

패키지 이름에 대한 참조가 없습니다. 또한 ads:adUnitId="@string/banner_ad_unit_id"> 추가 장치 ID에 대한 adUnitId를 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"/>


0

당신이 gradle 프로젝트 인 경우 다음을 대체하십시오.

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

와:

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

0

이 같은 오류에 대해 나를 위해 일한 솔루션을 추가하고 있습니다.

프로젝트> 속성> (왼쪽 패널) Android를 마우스 오른쪽 버튼으로 클릭했습니다.

아래의 오른쪽 패널에서 Library결함있는 라이브러리를 제거하고 다시 추가했습니다.

나를 위해이 오류는 모든 프로젝트를 다시 가져와야하는 손상된 작업 공간 이클립스 파일 후에 발생했습니다.


0

내 문제는 매우 비슷했습니다 (같은 문제가 발생합니다). Android Studio에서 "refactor-> rename"옵션으로 변수 이름을 리팩터링 한 후 ( "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"/>

희망, 그것은 누군가를 도울 것입니다!


0

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>

0

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

그런 다음 프로젝트를 다시 작성하십시오.


0

android.support.design.widget.NawigationView 이 매개 변수를 추가했습니다 .

android:layout_gravity="start"

그리고 문제가 해결되었습니다.



-2

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>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.