gradle-7.2-bin.zip 与 ext.build_gradle_version = '7.1.1' 问题
shifujun 您好
发现在新版Android studio 中 使用 gradle 7.2 有一些适配问题, 比如: 1、 ClassTransform.class 中 FileUtils.relativePossiblyNonExistingPath 调用方法不存在。 2、sample 的build.gradle 中 createCopyTask 依赖的的打包task 未能生成apk包。导致host 的assets 中无插件apk
请问有对gradle 的升级计划没呢。
谢谢。
有升级的计划。
目前也有https://github.com/Tencent/Shadow/tree/master/projects/test/gradle-plugin-agp-compat-test 自动化测试。所以这个升级开发也有一定的兼容性保障。
欢迎贡献代码,或者等晚一些我会跟进最新版本的Android Studio指定的版本。
FileUtils.relativePossiblyNonExistingPath这个比较好修复,见 https://github.com/Tencent/Shadow/pull/801 。之后消费工程就可以用Gradle 7.2与AGP 7.1.1了。
createCopyTask是Shadow这个工程自己的sample用到的任务,Shadow自己暂时保持AGP 7.0.3 对消费它的工程使用7.1.1不影响。这种基于AGP特定行为的自定义任务维护起来确实有点麻烦。不过Shadow自身工程的AGP也是要升级的,以便兼容最新的Android Studio环境进行开发。这个另外再修复。
这个AGP 7.1带来了一个很麻烦的变动。在Android Studio中运行assemble任务,apk文件会生成在build/intermediates/apk目录中。直接在命令行运行同一个assemble任务却会像以前一样生成到build/outputs/apk中。
这使得在IDE中直接运行sample-host和在命令行中运行./gradlew :sample-host:assembleDebug,需要两种不同的复制插件apk路径。
😞 😞 😞 😞 😞
这个AGP 7.1带来了一个很麻烦的变动。在Android Studio中运行assemble任务,apk文件会生成在
build/intermediates/apk目录中。直接在命令行运行同一个assemble任务却会像以前一样生成到build/outputs/apk中。这使得在IDE中直接运行
sample-host和在命令行中运行./gradlew :sample-host:assembleDebug,需要两种不同的复制插件apk路径。😞 😞 😞 😞 😞
原来这样😭
https://developer.android.google.cn/studio/releases/fixed-bugs/studio/2021.1.1?hl=zh-cn
问题 69014026 将部署 build 输出移至 intermediates 文件夹
我看这里标记了一个AGP-7.2 Beta版本,我就先不深究到底是修复了还是怎么样,等7.2出了再试试看吧。