我在尝试将我的应用程序发布到Android市场时出现此错误“ERROR获取'android:label'属性:属性不是字符串值”。 前段时间这个应用程序已在市场上成功发布,但是当我在AndroidManifest.xml中应用微小的更改(更改versionCode和versionName)时,我不断发现此错误。
我在这里查看了所有类似的主题,例如:
Android Market Publishing Issues
The file is invalid: ERROR getting 'android:name' attribute: attribute is not a string value
但这些解决方案都没有帮助我。你知道出现这种错误的其他原因吗? 这是我的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>
答案 0 :(得分:10)
每次上传时从Play商店收到错误,请确保在本地执行相同的命令以获得正确的输出。从在线控制台检索的输出具有误导性。
我自己的代码中的一个例子,这是我在在线控制台上得到的:
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-tools中找到)
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 :(得分:1)
为了调查,我遵循以下方法:
这让我可以缩小到问题的根源。只是一个没有资源的字符串而不是标签没有在应用程序中使用。我删除了label属性作为修复。
答案 2 :(得分:1)
阅读@hcpl回答,如果你无法查找错误,请查找清单中列出的下一个活动。在他的帖子中:
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
崩溃了
答案 3 :(得分:0)
检查values / strings.xml和values-xx / strings.xml 您应该确保values / strings.xml中的每个单词都必须在values-xx / strings.xml下具有相应的单词。
答案 4 :(得分:0)
在我的情况下,默认的string.xml丢失了,意外地从项目中删除了。
我用:
disable 'ExtraTranslation'
disable 'MissingTranslation'
在gradle中,我没有证据表明缺少string.xml文件。