2016-01-26 3 views
25

Ich habe gerade für einen meiner Projekte unterzeichnet apk zu erzeugen versucht (ich habe das schon vorher), aber (vielleicht Android Studio seit Aktualisierung) Ich erhalteAndroid Studio disable „Erwartete Ressource vom Typ string“

Error:Error: Expected resource of type string [ResourceType]

Das ist, weil ich butter des @BindString verwendet wird, ist, dass, wie die

target.settings = res.getString(2131230792); 

in etwas erzeugt wie kann ich Studio das nicht erkennen, wie Fehler zu machen? Ich habe versucht, in den Einstellungen zu suchen, aber ohne Erfolg.

+0

ich zu Ihrem Zweck von einer anderen Art und Weise lösen benutze Buttermesser schon seit einer Weile, und das erschien nicht, bis ich anfing, mit Produktaromen in meiner Gradle-Datei zu spielen. – Chris

+0

Android Studio läuft nie aus Sachen, die Entwickler Kopfschmerzen verursachen –

Antwort

8

Dies wird gemeldet on the GitHub project. Es wird in der nächsten Version von ButterKnife behoben werden.

Die Abhilfe there angezeigt ist, und ist eine lint.xml Datei auf das app Modul mit folgendem Inhalt hinzuzufügen, zu ignorieren, dass Fehler auf *$$ViewBinder Klassen (diejenigen, die butter erzeugt):

<issue id="ResourceType"> 
    <!-- Remove this when this is fixed: https://github.com/JakeWharton/butterknife/issues/338 --> 
    <ignore path="**/*$$ViewBinder.java" /> 
</issue> 
+1

Die akzeptierte Antwort deaktiviert blind alle ResourceType Flusenüberprüfungen für Ihr Modul, wodurch Ihre Codebase möglicherweise mehr Bugs ausgesetzt werden, während diese Antwort speziell auf die generierten Klassen abzielt, die das Problem verursachen. Deshalb bevorzuge ich diese Antwort. –

63

Antwort darauf ist: Fussel Regel in Ihrem build.gradle

android { 
    lintOptions { 
    disable "ResourceType" 
    } 
} 

Bearbeiten deaktivieren: Dies kann insbesondere dann geschehen, wenn von Eclipse Android Studio migrieren.

0

I a hat ähnliches Problem. mit einer getString-Methode. Ich habe versucht, den String-Wert nicht aus strings.xml, sondern aus ids.xml zu bekommen, weil ich es mit getString (R.id.MYSTRING) bekommen habe, wenn es R.string.MYSTRING

2

Vielleicht sein sollte Eine bessere Lösung besteht darin, Fehler/Warnung vorübergehend zu deaktivieren, indem Sie @SuppressLint("ResourceType") kurz vor der Methodendefinition verwenden.

+0

Willkommen bei StackOverflow! In [Antwort] finden Sie Tipps, wie Sie hier gute Antworten auf Fragen finden. Insbesondere gibt es Möglichkeiten, Code-Snips zu formatieren, sodass sie als Code und nicht als einfacher Text angezeigt werden. Im Allgemeinen ist es am besten, sich auf neuere Fragen zu konzentrieren, ohne gut akzeptierte Antworten zu erhalten. – Kateract

0

Dies ist für einige Ansichten von derselben ID und Sie versuchen, eine Eigenschaft für eine von ihnen zu ändern. Sie versuchen, wann apk android erzeugen einige confilict über Resours id

finden

zu lösen

bessere Möglichkeit, den Code finden und versuchen, dass

GoodLuck

Verwandte Themen