2016-05-12 11 views
0

Ich arbeite derzeit an benutzerdefinierte Ansicht und habe das nächste Problem. Ich habe benutzerdefinierte Attribute erstellt und falls ich Enum nicht verwenden, ist alles in Ordnung.Fehler: Ausführung fehlgeschlagen für Task ': app: processStagingDebugResources'

<declare-styleable name="GCSettingsItem"> 
    <attr name="gc_settings_item_type"> 
     <enum name="none" value="0" /> 
     <enum name="arrow" value="1" /> 
     <enum name="check" value="2" /> 
     <enum name="switch" value="3" /> 
    </attr> 
    <attr name="gc_settings_item_text" format="string"/> 
</declare-styleable> 

Aber sobald ich Attribut mit Enum füge ich den nächsten Fehler:

Error:Execution failed for task ':app:processStagingDebugResources'. com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Users/volodiachorneknyy/Library/Android/sdk/build-tools/23.0.3/aapt'' finished with non-zero exit value 1

Was ist der Grund für eine solche Ausgabe sein kann?

UPDATE 1 Ich benutze retrolambda. Ich habe versucht, dasselbe ohne zu tun und alles ist in Ordnung.

Antwort

0

Nach einigen Stunden des Versuchs fand ich die Lösung. Sieht aus wie Enum-Attribute können nicht den gleichen Namen wie Java Keywords haben. Also direkt nachdem ich wechseln zu verschiedenen Wort alles gut arbeiten. Außerdem habe ich es mit Klassen-, Enum- und anderen Java-Keywords getestet.

+0

Enum-Werte sind in der Regel in der Oberklasse, übrigens –

+0

@ cricket_007 Ich weiß darüber, aber in diesem Fall von Android, sind alle Ressourcen und Attribute, einschließlich Enums, in Kleinbuchstaben. – temnoi

+0

Ooh, mein Schlechter. Xml enums ... Richtig ... Ich dachte, du meintest Java enums und ich dachte, der Code hätte einen Kompilierungsfehler –