没有aapt2.3.6.1:xxxx的缓存.
首先了解一下Aapt。
- aapt是androidstudio资源打包的工具,打包的资源包括assets目录和res以及androidmenifest.xml。
- aapt2是aapt的升级版。aapt是全量资源打包,即使只有一个资源文件的更改都会进行全部资源的重新打包流程。aapt2采用增量打包方式,流程分为编译和链接两步。修改某个文件后只需要对这个资源重新编译然后链接到之前的打包好的资源里面。aapt2的打包结果为arsc文件和Androidmenifest.xml以及res目录。
原因和解决方法。
. 原因:aapt2的安装在SDK包的build-tools里面。在当前目录执行aapt2
-version会显示当前版本,所以原因之一就是版本不兼容。
解决办法:升级aapt2。不能直接通过sdk manager升级,因为SDK升级的时候是按照platform版本来下载aapt2版本的。根据官网提示需要我们手动下载bug提示的版本。
温馨提示
*android.enableAapt2=false,已经无效,强制使用aapt2. *
额外记录
androidstudio打包分为三部分。java代码的编译从.java到.dex;资源文件的打包即aapt1;c/c++代码的编译链接。
ButterkNife9.0.0-rc2升级
implementation 'com.jakewharton:butterknife:9.0.0-rc2