AndroidStudio disable "Expected resource of type string"

23,817

Solution 1

This is reported on the GitHub project. It will be fixed in the next version of ButterKnife.

The workaround is indicated there, and is to add a lint.xml file on the app module with the following content to ignore that errors on *$$ViewBinder classes (the ones that ButterKnife generates):

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

Solution 2

Answer to this is: disable lint rule in your build.gradle

android {
  lintOptions {
    disable "ResourceType"
  }
}

Edit: This may happen particularly when migrating from Eclipse to Android Studio.

Solution 3

Maybe a better solution is to temporary disable error/warning by using @SuppressLint("ResourceType") just before the method definition.

Share:
23,817

Related videos on Youtube

Yaroslav
Author by

Yaroslav

Updated on July 09, 2022

Comments

  • Yaroslav
    Yaroslav almost 2 years

    I've just tried to generate signed apk for one of my projects (I already did this before), but (maybe since updating Android Studio) I'm getting

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

    This is because I'm using Butterknife's @BindString, that is generated into something like that

    target.settings = res.getString(2131230792);
    

    How can I make studio not detect this as error? I've tried searching in settings, but without success.

    • Chris
      Chris over 8 years
      I've been using butterknife for a while now, and this didn't appear until I started messing with product flavors in my gradle file.
    • Neon Warge
      Neon Warge over 7 years
      Android Studio never runs out of stuff that cause developer headaches
  • Andrew Orobator
    Andrew Orobator over 7 years
    The accepted answer blindly turns off all ResourceType lint checks for your module, exposing your codebase to potentially more bugs, while this answer specifically targets the generated classes that cause the issue. This is why I prefer this answer.
  • Kateract
    Kateract over 7 years
    Welcome to StackOverflow! Check How to Answer for tips on giving good answers to questions here. Specifically there are ways to format code snips so they show as code rather than plain text. Also, in general it's best to focus on newer questions without well accepted answers.