错误:程序包“com.google.example”main.xml中的属性“adSize”找不到资源标识符

当我按照说明通过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文件,但编译器不喜欢它。

在你的自定义布局nampespace中replace/res/ with /lib/

xmlns:android="http://schemas.android.com/apk/res/android"在你的情况下,将是:

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

我希望它有帮助。

我有同样的问题。 我从Google代码复制了示例代码,无法编译。

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

最后,我明白了。 代码“ com.google.example ”的最后一部分是它们的包名称,因此您需要将其replace为您的项目包。

例如,我的项目包是“ com.jms.AdmobExample ”,所以我的ads命名空间是:

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

检查我的例子,它工作正常。 你可以下载APK来尝试。 我也把我的源代码放在这里: 在Android应用程序中添加Google Admob

对我来说,我必须补充

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

之后:

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

在res / layout / main.xml中

您也可以使用http://schemas.android.com/apk/res-auto自动处理。; 像这样使用它:

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

我有同样的问题,但使用图书馆项目。 这个问题已经在r17中解决了:不是使用包的名字空间:

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

我们必须使用一个虚拟名称空间:

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

这将解决不能从引用项目访问的属性问题。

我从Android.com下载相同的自定义演示,并得到相同的complie问题。

最后,我改变了

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

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

这行得通 。 然后我得到另一个解决scheme

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

它也有效,但有一些不同之处。 第二种解决scheme具有完善的function。 我find原因了,可能是你可以接手。谢谢

正如您在attrs.xml指定的,您的adSize属性属于命名空间com.google.ads.AdView 。 尝试改变:

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

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

它应该工作。

我收到了关于largeHeap属性的这个错误,我的应用程序没有在eclipse下运行,但是在ant下它仍然正常运行。

Android 文档指出:

的xmlns:机器人

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

我把清单中的那一行删除,在日食中保存下来,粘贴回去,再次保存,然后运行。 在我的情况下,我猜这个问题是日食,ant和ADB不正确的互相交谈,保存重置的东西。 有趣的是重新启动eclipse并没有解决这个问题(通常这些types的问题重新启动eclipse是你应该尝试的第一件事情,通常它解决了这个问题)。

确保你已经在你的布局中包含了这个部分(在xmlns:android下面)

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

另外检查你是否在res / values /

在这里检查更多的细节。 http://code.google.com/mobile/ads/docs/android/banner_xml.html

基于这里的答案,我认为你需要改变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" .../>

它为我修好了。 如果你仍然有错误,你能否详细说明一下?

我通常以这种方式将xmlns:ads属性embedded到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时都不需要embedded父项。

只需复制和粘贴上面的adview并将其粘贴到任何地方,它应该工作

我一直在寻找答案,但无法find,但最后我可以通过添加play-service-ads依赖项来解决这个问题让我们试试这个:

*)文件 – >项目结构… – >在该模块下你可以find应用程序,并有一个选项称为依赖关系,您可以添加com.google.android.gms:play-services-ads:xxx依赖项到您的项目

当我尝试将Eclipse项目导入到Android Studio中时遇到此问题。

图片

我也面临同样的问题,我使用GoogleAdMobAdsSDK-4.1.0.jar然后我试着用GoogleAdMobAdsSDK-4.0.4.jar现在它工作正常,这是与我的经验的jar文件的问题。

当在xml中使用具有"android:"属性的Drawables和Layouts文件构build一个类库时,我在MonoDroid上遇到类似的问题。 我得到了与问题中类似的错误。

“android”包中没有find属性“textCursorDrawable”的资源标识符

我发现,“android:”属性只能在Android API级别12+中使用,而我正在尝试构build旧版本。 更新我的项目build立对Android 4.0固定的问题对我来说。 这是我find答案的地方。 https://groups.google.com/forum/?fromgroups#!topic/android-developers/ocxKphM5MWM如果您遇到类似的问题,请确保您的API级别正确,并确保缺less的标识符存在您构build的API级别。;

只需更改目标SDK右键单击项目,然后单击属性selectAndroid并select最新的API

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">设置adUnitId ads:adUnitId="@string/banner_ad_unit_id">添加单元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"/> 

如果你的是一个gradle项目取代:

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

有:

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

我正在添加为我工作的解决scheme,同样的错误。

我右键单击项目>属性>(左侧面板)Android

Library下面的右侧面板删除了错误的库,并再次添加它。

对我来说,这个错误发生在一个损坏的工作区eclipse文件,我不得不再次导入所有项目。

我的问题非常相似(产生相同的问题)。 在Android Studio中通过“重构 – >重命名”选项重构variables名称(从“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"/> 

我希望,这将有助于某人!

添加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> 

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

然后重build项目

我在android.support.design.widget.NawigationView中添加了这个参数:

 android:layout_gravity="start" 

问题解决了。

PUT 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>