web-dev-qa-db-fra.com

Android Studio désactiver "Ressource attendue de type chaîne"

Je viens d'essayer de générer des signatures apk signées pour l'un de mes projets (je l'avais déjà fait auparavant), mais (peut-être depuis la mise à jour d'Android Studio)

Erreur: Erreur: ressource attendue de type chaîne [ResourceType]

C'est parce que j'utilise @BindString de Butterknife, qui est généré dans quelque chose comme ça

target.settings = res.getString(2131230792);

Comment faire en sorte que studio ne détecte pas cela comme une erreur? J'ai essayé de chercher dans les paramètres, mais sans succès.

27
Yaroslav

Ceci est rapporté sur le projet GitHub . Il sera corrigé dans la prochaine version de ButterKnife.

La solution de contournement est indiquée , et consiste à ajouter un fichier lint.xml sur le module app avec le contenu suivant pour ignorer les erreurs sur les classes *$$ViewBinder (celles générées par ButterKnife):

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

La réponse à cette question est: désactiver la règle de la charpie dans votre build.gradle

Android {
  lintOptions {
    disable "ResourceType"
  }
}

Edit: Cela peut se produire notamment lors de la migration d’Eclipse vers Android Studio.

66
Yaroslav

Une meilleure solution consiste peut-être à désactiver temporairement les erreurs/avertissements en utilisant @SuppressLint("ResourceType") juste avant la définition de la méthode.

4
user7287497

J'ai un problème similaire. avec une méthode getString. Il s'est avéré que j'essayais d'obtenir la valeur de chaîne non pas de strings.xml mais de ids.xml, car je l'obtenais avec getString (R.id.MYSTRING), alors que cela devrait être R.string.MYSTRING

0
lxknvlk

ceci est valable pour certaines vues du même identifiant et que vous essayez de modifier certaines propriétés de l'une d'entre elles . Lorsque vous essayez de générer un apk Android

Pour résoudre ce problème

meilleure façon de trouver le code et d'essayer de résoudre ce problème d'une autre manière

Bonne chance

0