错误获取“android:label”属性:属性不是string值

我试图将我的应用程序发布到Android市场时出现此错误“ERROR getting'android:label'attribute:attribute is not a string value”。 前段时间这个应用程序已经在市场上成功发布了,但是当我在AndroidManifest.xml中应用一些小的修改(改变versionCode和versionName)的时候,我经常得到这个错误。

我在这里查找了所有类似的主题,例如:

Android电子市场发布问题

尝试上传到Android电子市场时出现错误:“android:icon”属性:属性不是string值“

该文件无效:错误获取'android:name'属性:属性不是一个string值

但这些解决scheme都没有帮助我。 你知道有这种错误的其他原因吗? 这是我的AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.samsung.att.deskhome" android:versionCode="12" android:versionName="2.3"> <uses-permission android:name="android.permission.READ_CALENDAR" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.SET_WALLPAPER" /> <uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <application android:icon="@drawable/mainmenu_icon_homemount" android:label="@string/app_name"> <activity android:name=".CradleMain" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar" android:launchMode="singleTask" > <meta-data android:name="android.dock_home" android:value="true" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.DESK_DOCK" /> </intent-filter> </activity> <activity android:name=".CradleHomeSettings" android:label="@string/cradle_home_settings" android:launchMode="singleTask" android:configChanges="orientation"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DESK_DOCK" /> </intent-filter> </activity> <activity android:name=".CradleWeatherSettings" android:label="@string/cradle_weather_settings" android:launchMode="singleTask" android:configChanges="orientation"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DESK_DOCK" /> </intent-filter> </activity> <activity android:name=".CradleWallpaperChooser" android:label="@string/pick_wallpaper" android:screenOrientation="nosensor" android:finishOnCloseSystemDialogs="true" android:configChanges="locale"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DESK_DOCK" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="8" /> <uses-sdk android:maxSdkVersion="10" /> </manifest> 

Solutions Collecting From Web of "错误获取“android:label”属性:属性不是string值"

每当上传时播放存储中出现错误,请确保在本地执行相同的命令以获得正确的输出。 从在线控制台检索的输出是误导性的。

从我自己的代码中得到一个例子,这是我在在线控制台上得到的:

 Failed to run aapt dump badging: W/ResourceType( 4560): Failure getting entry for 0x7f0601c6 (t=5 e=454) in package 0 (error -75) ERROR getting 'android:label' attribute: attribute is not a string value 

和一个本地运行相同的工具(在SDK中的构build工具中finddir)

 aapt dump badging /path/to/your/apk 

显示有用的信息,如检查失败的位置:

 package: name='X' versionCode='X' versionName='X' sdkVersion:'7' targetSdkVersion:'17' uses-permission:'android.permission.INTERNET' ... uses-permission:'android.permission.WRITE_EXTERNAL_STORAGE' uses-feature-not-required:'android.hardware.camera' uses-feature-not-required:'android.hardware.camera.autofocus' application-label:'Photo Tools' application-label-zh:'摄影工具' application-label-nl:'Photo Tools' application-label-fr:'Photo Tools' application-label-es:'Photo Tools' application-label-it:'Photo Tools' application-label-ru:'Photo Tools' application-icon-160:'res/drawable/phototools_icon.png' application-icon-240:'res/drawable/phototools_icon.png' application-icon-320:'res/drawable/phototools_icon.png' application-icon-480:'res/drawable/phototools_icon.png' application: label='Photo Tools' icon='res/drawable/phototools_icon.png' launchable-activity: name='be.hcpl.android.phototools.PhotoToolsActivity' label='Photo Tools' icon='' W/ResourceType(30945): Failure getting entry for 0x7f0601c6 (t=5 e=454) in package 0 (error -84) ERROR getting 'android:label' attribute: attribute is not a string value 

为了调查,我遵循以下方法:

  1. 逐一评论活动
  2. build立签署的版本
  3. 运行aapt转储徽章/path/到/你的/ apk
  4. 看到错误并重复

这使我能够缩小我的问题的根源。 只是一个没有资源的string,而不是在应用程序中使用的标签。 我删除了标签属性作为修复。

阅读@hcpl的答案,如果你不能finsd的错误寻找清单中列出的下一个活动。 在他的职位:

 launchable-activity: name='be.hcpl.android.phototools.PhotoToolsActivity' label='Photo Tools' icon='' W/ResourceType(30945): Failure getting entry for 0x7f0601c6 (t=5 e=454) in package 0 (error -84) ERROR getting 'android:label' attribute: attribute is not a string value 

你可能会认为这个问题与PhotoToolsActivity有关,但它是关于下一个没有得到日志的活动,因为它aapt导致崩溃

检查values / strings.xml和values-xx / strings.xml您应该确保values / strings.xml中的每个单词必须在values-xx / strings.xml下有相应的单词。

在我的情况下,缺省的string.xml丢失,意外地从项目中删除。

我用:

 disable 'ExtraTranslation' disable 'MissingTranslation' 

在gradle中,所以我没有缺lessstring.xml文件的证据。