2011-09-28 12 views
9

Mam ten błąd "BŁĄD otrzymuję" android: etykieta "atrybut: atrybut nie jest wartością łańcucha" podczas próby opublikowania mojej aplikacji na rynku Android. Jakiś czas temu ta aplikacja została już opublikowana z powodzeniem na rynku, ale gdy wprowadzę drobne zmiany w AndroidManifest.xml (zmieniając kod wersji i wersję), otrzymuję ten błąd stale.BŁĄD otrzymuję atrybut "android: etykieta": atrybut nie jest wartością ciągu znaków

Spojrzałem do wszystkich podobnych tematów tutaj, takich jak:

Android Market Publishing Issues

"ERROR getting 'android:icon' attribute: attribute is not a string value" when trying to upload to the Android Market

The file is invalid: ERROR getting 'android:name' attribute: attribute is not a string value

ale żaden z nich rozwiązanie pomogło mi. Czy znasz inny powód takiego błędu? Oto moja 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> 
+6

Przyczyną problemu było to, że wartości/strings.xml nie zawierały jednego z atrybutów "android: label", chociaż znajdowały się w innym zlokalizowanym pliku strings.xml. – amilien

Odpowiedz

10

Gdy pojawi się błąd ze sklepu Play podczas przesyłania upewnij się, aby wykonać tę samą komendę lokalnie do uzyskania odpowiedniego wyjścia. Dane wyjściowe pobrane z konsoli internetowej są mylące.

Przykład z mojego własnego kodu, to co mam na konsoli online:

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 

oraz lokalnego przebiegu tego samego narzędzia (znaleziono w build-narzędzi w sdk dir)

aapt dump badging /path/to/your/apk 

ujawnił przydatnych informacji, takich jak miejsca, w którym check failed:

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

Otrzymuję ten sam błąd, w twojej odpowiedzi brakuje rozwiązania, co zrobiłeś po tym dumpie – meda

+2

@meda dla mnie brakowało wartości ciągu w domyślnym pliku strings.xml podczas tłumaczenia w innym pliku strings.xml – hcpl

1

do zbadania, a następnie I th e następującą metodologię:

  1. Wykomentuj działalność jeden po drugim
  2. budować podpisaną uwalnianie
  3. prowadzony AAPT wysypisko badging/ścieżka/do/pliku/apk
  4. zobaczyć błędy i powtórzyć

To pozwoliło mi zawęzić się do źródła mojego problemu. Tylko ciąg bez zasobu zamiast etykiety nie był używany w aplikacji. Usunąłem atrybut etykiety jako poprawkę.

1

Odczytaj @ hcpl odpowiedź, jeśli nie możesz zobaczyć błędu w następnej czynności wymienionej w manifeście. w swoim poście:

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 

Można by pomyśleć, problem jest związany z PhotoToolsActivity ale jest o następnej czynności, które nie dostać się zalogować, ponieważ aapt awarii

0

sprawdzić wartości/strings.xml i values- xx/strings.xml Powinieneś być pewien, że wszystkie słowa w wartościach/strings.xml muszą mieć odpowiednie słowo w wartościach -xx/strings.xml.

0

W moim przypadku brakowało domyślnego pliku string.xml, przypadkowo usunięty z projektu.

używam:

disable 'ExtraTranslation' 
disable 'MissingTranslation' 

w Gradle, więc nie mam dowodu brakującego pliku string.xml.

Powiązane problemy