त्रुटि: पैकेज '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
क्रिस्टियन

जवाबों:


299

अपने कस्टम लेआउट नॉम्पस्पेस के /res/साथ बदलें /lib/

xmlns:android="http://schemas.android.com/apk/res/android" आपके मामले में, यह होगा:

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

मुझे उम्मीद है यह मदद करेगा।


मुझे एक अलग समस्या थी, लेकिन उसी समाधान ने काम किया। मूल रूप से मैं एक लेआउट फ़ाइल का उपयोग कर रहा था जो / Res फ़ाइल को संदर्भित करता है जिसे मैंने यहां दिए निर्देशों के अनुसार / lib में बदल दिया और यह काम कर गई। क्या आप यहां क्या चल रहा है, इसका विवरण प्रदान कर सकते हैं?
राइटहैंडमेन्डकी

xmlns: yourApp = "schemas.android.com/apk/res-auto";
फैजान मुबाशेर

7
हाय, ऊपर दिए गए समाधान में आपकाAppApp और YourClass क्या है?
प्रोग्रामर

3
कृपया एक उदाहरण लिखें
इमान मराशी

जब भी मैं ऐसा करता हूं और परियोजना का निर्माण करता हूं तो यह स्वतः ही पिछले एक में परिवर्तित हो जाता है और त्रुटि को दूर करता है
सागर देवांग

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"

मेरे उदाहरण की जाँच करें, यह ठीक काम करता है। आप कोशिश करने के लिए एपीके डाउनलोड कर सकते हैं। मैंने अपना सोर्स कोड भी यहां दिया: Android एप्लिकेशन में Google Admob जोड़ें


13
देवताओं, यदि आप xmlns: ads में अपने प्रोजेक्ट पैकेज का उपयोग कर रहे हैं, तो आपको जेम्स द्वारा उनके लिंक में बताए अनुसार 'attrs.xml' भी जोड़ना होगा। नए Admob sdk के लिए, attrs.xml अब अनुशंसित नहीं है। बस निम्नलिखित नामस्थान का उपयोग करें:xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
vivek.m

8
@ vivek.m, मुझे सही उत्तर देने के लिए धन्यवाद! इसके बजाय 'एपीकेलिब' परियोजना निर्भरता के मामले में एपीके / एक का उपयोग करना जरूरी है।
se.solovyev

4
धन्यवाद, मुझे इंटरनेट से प्यार है, विशेष रूप से Stackoverflow.com
htafoya

बहुत बहुत धन्यवाद, 3 घंटे की खोज और डिबगिंग के बाद आपका जवाब आखिरकार पॉप अप हो गया और इसे ठीक कर दिया गया।
व्लाद श्नाकोवस्ज़की

@ vivek.m धन्यवाद कि वह उत्तर है जिसने मेरे लिए काम किया है - com.google.ads के साथ।
मूलांक

42

मेरे लिए, मुझे जोड़ना होगा

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

एकदम बाद:

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

Res / लेआउट / main.xml में


1
आप जीवन और नींद सेवर हैं ... धन्यवाद, मेरी नींद बच गई :)
नारुतो

: मैं एक admob सवाल है stackoverflow.com/questions/36389729/... \
रूचिर Baronia

27

आप http://schemas.android.com/apk/res-auto का भी उपयोग कर सकते हैं जो इसकी देखभाल स्वतः करेगा। इसे इस तरह उपयोग करें:

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

@ निक्लेस: यह एक वेब पेज लिंक नहीं है। यह इस तरह उपयोग किया जाने वाला एक URL है: xmlns: ads = " schemas.android.com/apk/res-auto " जो स्वचालित रूप से संसाधन URL को हल करता है। ऊपर मेरा अद्यतन जवाब देखें।
Bms270

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 से एक ही कस्टम-डेमो डाउनलोड करता हूं और एक ही जटिल समस्या प्राप्त करता हूं ।

फ्रिस्ट पर, मैं बदलता हूं

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.xmlअपने विज्ञापन में निर्दिष्ट करते हैं, विशेषता नामस्थान से संबंधित है com.google.ads.AdView। बदलने की कोशिश:

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

सेवा

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

और यह काम करना चाहिए।


@FranciscoCorralesMorales मैंने इसे जोड़ा लेकिन फिर भी यह काम नहीं कर रहा है
सागर देवंगा

3

मुझे यह त्रुटि लार्जहैप अट्रैक्शन के संबंध में मिली है, मेरा आवेदन ग्रहण के तहत नहीं चला था, लेकिन चींटी के तहत यह अभी भी सामान्य रूप से बनाया गया था।

Android प्रलेखन कहता है कि:

xmlns: एंड्रॉयड

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

मैंने अपने प्रकटन में उस रेखा को मिटा दिया, ग्रहण में सहेजा गया, पंक्ति को वापस अंदर चिपकाया और फिर से सहेजा, और यह काम किया। मेरे मामले में मुझे लगता है कि समस्या को ग्रहण किया गया था, चींटी और अदब एक दूसरे से सही तरीके से बात नहीं कर रहे थे और बचत कुछ रीसेट कर रही थी। दिलचस्प रूप से ग्रहण को फिर से शुरू करने से इस समस्या का समाधान नहीं हुआ (आमतौर पर इस प्रकार की समस्याओं के साथ ग्रहण को फिर से शुरू करना पहली चीज है जिसे आपको आज़माना चाहिए, और आमतौर पर यह समस्या को हल करता है)।


Thx इस pls "xmlns:" url ने मुझे बचाया :)
गीतकार

मेरे पास एक प्रशंसात्मक प्रश्न है: stackoverflow.com/questions/36389729/…
रुचिर बैरोनिया

2

सुनिश्चित करें कि आपने इस भाग को अपने लेआउट में शामिल किया है (ऊपर xmlns के नीचे: android लाइन)

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

यह भी जांचें कि क्या आपने res / मान में attrs.xml को शामिल किया है /

अधिक जानकारी के लिए यहां देखें। http://code.google.com/mobile/ads/docs/android/banner_xml.html


1

यहाँ उत्तर के आधार पर , मुझे लगता है कि आपको xmlns बदलने की आवश्यकता है: विज्ञापन विशेषता। उदाहरण के लिए, इसे बदलें:

<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 एम्बेड करता हूं: इस तरह से विज्ञापन गुणों में संपत्ति का विज्ञापन करता है:

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

ताकि आपको हर बार पैरेंट को कॉपी करने के लिए अभिभावक के अंदर जाने की जरूरत न पड़े।

बस ऊपर दिए गए विज्ञापन को कॉपी और पेस्ट करें और इसे कहीं भी पेस्ट करें और इसे काम करना चाहिए


1

मैं उत्तर खोज रहा हूं, लेकिन नहीं मिला लेकिन आखिरकार मैं इसे play-service-adsनिर्भरता जोड़कर ठीक कर सकता हूं आइए इस पर प्रयास करें:

*) फाइल -> प्रोजेक्ट स्ट्रक्चर ... -> मॉड्यूल के तहत आप ऐप ढूंढ सकते हैं और निर्भरता नामक एक विकल्प है और आप com.google.android.gms जोड़ सकते हैं : प्ले-सर्विसेज-विज्ञापन: xxx प्रोजेक्ट के लिए आपकी निर्भरता

मुझे इस समस्या का सामना करना पड़ा जब मैं एंड्रॉइड स्टूडियो में ग्रहण परियोजनाओं को आयात करने की कोशिश करता हूं।

छवि


1

मेरे मामले में, मुझे ऐप स्तर build.gradle में एक निर्भरता याद आ रही थी।

इसका समाधान नीचे की निर्भरता के रूप में निर्भरता को जोड़ना था:

अपने ऐप के लिए ऐप-स्तर build.gradle फ़ाइल खोलें, और "निर्भरता" अनुभाग देखें।

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

ऊपर की पंक्ति जोड़ें, जो ग्रैडल को मोबाइल विज्ञापन एसडीके और अतिरिक्त संबंधित निर्भरताओं के नवीनतम संस्करण में खींचने का निर्देश देता है। एक बार ऐसा हो जाने के बाद, फ़ाइल को सहेजें और ग्रैडल सिंक करें।


0

मुझे भी उसी समस्या का सामना करना पड़ा, मैं तब उपयोग कर रहा था, मैंने GoogleAdMobAdsSDK-4.1.0.jarकोशिश की थी कि GoogleAdMobAdsSDK-4.0.4.jarअब यह ठीक काम कर रहा है, यह मेरे अनुभव के अनुसार जार फ़ाइल के साथ समस्या है।


0

मैं एक समान मुद्दा था जब ड्रॉबल और लेआउट फ़ाइलों के साथ एक क्लास लाइब्रेरी का निर्माण "android:"किया गया था जिसमें एक्सएमएल में विशेषता थी। मुझे प्रश्न में एक जैसी त्रुटि मिलती है।

पैकेज 'android' में विशेषता 'textCursorDrawable' के लिए कोई संसाधन पहचानकर्ता नहीं मिला

मुझे लगता है कि "एंड्रॉइड:" विशेषता केवल एंड्रॉइड एपीआई स्तर 12+ में उपलब्ध है और मैं एक पुराने संस्करण के लिए निर्माण करने की कोशिश कर रहा था। एंड्रॉइड 4.0 के खिलाफ निर्माण के लिए मेरी परियोजना को अपडेट करना मेरे लिए समस्या तय कर दिया। यहाँ है जहाँ मैं जवाब मिला। https://groups.google.com/forum/?fromgroups# .topic /android- developers /ocxKphM5MWM केवल सुनिश्चित करें कि आप एक समान समस्या मिलने पर सही API स्तर के विरुद्ध निर्माण कर रहे हैं, और सुनिश्चित करें कि लापता पहचानकर्ता में मौजूद है आपके द्वारा बनाए गए API स्तर।


0

बस लक्ष्य sdk राइट क्लिक करें प्रोजेक्ट पर क्लिक करें फिर प्रॉपर्टी सेलेक्ट एंड्रॉइड पर क्लिक करें और नवीनतम एपीआई का चयन करें


0

वही त्रुटि मुझे res / लेआउट फ़ोल्डर के अंदर "activity_banner_xml.xml" फ़ाइल में हो रही थी। मैंने इसे ठीक करने के लिए जो किया वह बदला गया

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

साथ में

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

मेरे पैकेज के नाम का कोई संदर्भ नहीं था। इसके अलावा, सुनिश्चित करें कि आपने ads:adUnitId="@string/banner_ad_unit_id"> ऐड यूनिट के लिए adUnitId सेट किया है 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"/>


0

यदि आपकी एक अपडेल परियोजना प्रतिस्थापित है:

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

साथ में:

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

0

मैं इस त्रुटि के लिए मेरे लिए काम करने वाले समाधान को जोड़ रहा हूं।

मैंने प्रोजेक्ट> संपत्तियाँ> (बाएं पैनल) Android पर राइट क्लिक किया

राइट पैनल के तहत Libraryमैंने दोषपूर्ण लाइब्रेरी को हटा दिया और इसे फिर से जोड़ा।

मेरे लिए यह त्रुटि एक भ्रष्ट कार्यक्षेत्र ग्रहण फ़ाइल के बाद हुई जहाँ मुझे फिर से सभी परियोजनाओं को आयात करना पड़ा।


0

मेरी समस्या बहुत समान थी (समान समस्या पैदा करता है)। एंड्रॉइड स्टूडियो में "रिफ्लेक्टर -> नाम बदलें" विकल्प को फिर से नाम देने के बाद ("मूल्य" से "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.Nawigation में जोड़ा है यह पैरामीटर देखें:

android:layout_gravity="start"

और समस्या हल हो गई।



-2

डाल compile 'de.hdodenhof:circleimageview:2.0.0' में 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>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.