Android 获取';安卓:标签';属性:属性不是字符串值

Android 获取';安卓:标签';属性:属性不是字符串值,android,google-play,Android,Google Play,当我试图将我的应用程序发布到android market时,出现了这样一个错误“获取'android:label'属性时出错:属性不是字符串值”。 不久前,这个应用程序已经在市场上成功发布,但当我在AndroidManifest.xml(更改版本代码和版本名称)中应用一些小的更改时,我经常会遇到这个错误 我在这里查看了所有类似的主题,例如: 但这些解决方案对我都没有帮助。你知道这种错误的其他原因吗? 以下是我的AndroidManifest.xml: <?xml version="1

当我试图将我的应用程序发布到android market时,出现了这样一个错误“获取'android:label'属性时出错:属性不是字符串值”。 不久前,这个应用程序已经在市场上成功发布,但当我在AndroidManifest.xml(更改版本代码和版本名称)中应用一些小的更改时,我经常会遇到这个错误

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

但这些解决方案对我都没有帮助。你知道这种错误的其他原因吗? 以下是我的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> 

每当上传时从play store收到错误时,请确保在本地执行相同的命令以获得正确的输出。从联机控制台检索到的输出具有误导性

这是我自己代码中的一个示例,是我在联机控制台上得到的:

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目录中的构建工具中找到)

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

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

为了进行调查,我采用了以下方法:

  • 逐一评论活动
  • 生成已签名的版本
  • 运行aapt dump-bading/path/to/your/apk
  • 查看错误并重复

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

    read@hcpl-answer,如果找不到错误,请查找清单中列出的下一个活动。在他的职位上:

    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
    崩溃

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

    在我的例子中,默认的string.xml丢失,从项目中意外删除

    我使用:

    disable 'ExtraTranslation'
    disable 'MissingTranslation'
    

    在gradle中,因此我没有缺少string.xml文件的证据。

    问题的原因是value/strings.xml不包含“android:label”属性之一,尽管它在其他本地化的strings.xml中。我得到了相同的错误,您的答案缺少解决方案,你拿到这个后做了什么dump@meda对我来说,在另一个strings.xml文件中翻译时,default strings.xml中缺少字符串值
    disable 'ExtraTranslation'
    disable 'MissingTranslation'