AndroidAnnotations or Butterknife

The answers below are technically incorrect, butterknife uses a specific component of javac to reverse lookup the resources. If you look at the generated classes you’ll notice that all the resources are hardcore numbers instead of R.id.abc. to means that as long as your project is done and doesn’t require a lot of resource merging, you might be about to get away with it. Normally, the hard codes number will be replaced by the resource parameter. There are open bugs on butterknife and kotlin in hopes that this will be fixed in the future, it’s a shame to lose support for such a popular library. For now, I’d recommend the extensions library.