android studio3.4.1 gradle-5.1.1 配置 apt

本文详细介绍了在Android Studio 3.4.1与Gradle 5.1.1环境下,配置APT(Annotation Processing Tool)以实现ButterKnife功能的最新有效方法。文章首先概述了APT的工作原理,随后对比了过时的配置方式与新的实践步骤,包括模块创建、依赖调整、编码问题解决等关键环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android studio3.4.1 gradle-5.1.1 配置 apt ,实现黄油刀(ButterKnife)效果遇到的问题及最新方法:

apt简介:

 APT(Annotation Processing Tool)是一种处理注释的工具,它对源代码文件进行检测找出其中的Annotation,使用Annotation进行额外的处理。 Annotation处理器在处理Annotation时可以根据源文件中的Annotation生成额外的源文件和其它的文件(文件具体内容由Annotation处理器的编写者决定),APT还会编译生成的源文件和原来的源文件,将它们一起生成class文件。

过时做法(报错):

project gradle中:

  mavenCentral()

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

 

app gradle中:

apply plugin: 'com.neenbedankt.android-apt'

报错为:

ERROR: android-apt plugin is incompatible with the Android Gradle plugin.  Please use 'annotationProcessor' configuration instead.
Affected Modules: app

最新可用方法(通过):

1、删除上面添加的全部代码;

2、分别新建android library  ---  inject 和java library ----  inject_annotation,inject_compiler三个module;

3、将inject和inject_compiler导入app中,并且在app.gradle中将依赖关系implementation改成annotationProcessor:

      

4、在inject_compiler的gradle中依赖 implementation 'com.google.auto.service:auto-service:1.0-rc2':

5、将inject_annotation分别导入inject_compiler和inject中,其中inject中的改为api(app要引用inject_annotation的BindView)implementation;

6、运行后报中文编码错误       错误: 编码GBK的不可映射字符        :

解决:inject_annotation中的gradle中加入如下代码 设置代码格式:

tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值