Android Studio适配butterknife遇到的坑

升级Android Studio到Android Studio Narwhal 3 Feature Drop | 2025.1.3

适配butterknife遇到了各种各样的问题,差点都要放弃了,关关难过关关过

1.@BindView(R.id.xxx)无法识别

解决方案:整理项目配置

a.工程项目根路径build.gradle增加:

复制代码
classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.3'

b.主项目路径下build.gradle增加:

复制代码
apply plugin: 'com.jakewharton.butterknife'
configuration.dependencies.add(getProject().dependencies.create('com.jakewharton:butterknife:10.1.0'))

kapt 'com.jakewharton:butterknife-compiler:10.2.3'
implementation 'com.jakewharton:butterknife:10.2.3'

2.Incorrectly typed data found for annotation element public abstract int butterknife.BindView.value() (Found data of type R2.id)

解决方案:在AndroidManifest.xml增加packagename

复制代码
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="xxx.xxx.xxx"
    xmlns:tools="http://schemas.android.com/tools">

3.onClick方法中使用switch case报R.id.xxx不是常量

解决方案:工程项目根路径gradle.properties增加:

复制代码
android.nonFinalResIds=false

4.无法生成BuildConfig类:

解决方案:主项目路径下build.gradle增加:

复制代码
buildFeatures {
    buildConfig  true
}

赠人玫瑰手有余香,欢迎大家一起交流讨论,让码农的工作越来越简单!

相关推荐
mykrecording35 分钟前
launch Activity流程
android·app
不知名的前端专家1 小时前
uniapp 安卓FTP上传下载操作原生插件
android·uni-app
小蕾Java2 小时前
Python 开发工具,最新2025 PyCharm 使用
ide·python·pycharm
ClassOps3 小时前
Android Studio Logcat中 杀死应用
android·android studio·logcat
lagelangri6663 小时前
MySql的存储过程以及JDBC实战
android·数据库·mysql
指针不南3 小时前
Android Studio | 设置国内代理(SDK 设置国内代理(阿里云镜像))
android·阿里云·android studio
Knock man3 小时前
Android AIDL通信案例
android
2501_916013748 小时前
iOS 26 系统流畅度检测 从视觉特效到帧率稳定的实战策略
android·macos·ios·小程序·uni-app·cocoa·iphone
秋月的私语8 小时前
如何快速将当前的c#工程发布成单文件
android·java·c#
MediaTea11 小时前
Python IDE:Spyder
开发语言·ide·python