Shadow icon indicating copy to clipboard operation
Shadow copied to clipboard

gradle-7.2-bin.zip 与 ext.build_gradle_version = '7.1.1' 问题

Open kevintcl opened this issue 3 years ago • 5 comments

shifujun 您好

发现在新版Android studio 中 使用 gradle 7.2 有一些适配问题, 比如: 1、 ClassTransform.class 中 FileUtils.relativePossiblyNonExistingPath 调用方法不存在。 2、sample 的build.gradle 中 createCopyTask 依赖的的打包task 未能生成apk包。导致host 的assets 中无插件apk

请问有对gradle 的升级计划没呢。

谢谢。

kevintcl avatar Feb 11 '22 03:02 kevintcl

有升级的计划。

目前也有https://github.com/Tencent/Shadow/tree/master/projects/test/gradle-plugin-agp-compat-test 自动化测试。所以这个升级开发也有一定的兼容性保障。

欢迎贡献代码,或者等晚一些我会跟进最新版本的Android Studio指定的版本。

shifujun avatar Feb 11 '22 03:02 shifujun

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环境进行开发。这个另外再修复。

shifujun avatar Feb 11 '22 04:02 shifujun

这个AGP 7.1带来了一个很麻烦的变动。在Android Studio中运行assemble任务,apk文件会生成在build/intermediates/apk目录中。直接在命令行运行同一个assemble任务却会像以前一样生成到build/outputs/apk中。

这使得在IDE中直接运行sample-host和在命令行中运行./gradlew :sample-host:assembleDebug,需要两种不同的复制插件apk路径。

😞 😞 😞 😞 😞

shifujun avatar Feb 11 '22 09:02 shifujun

这个AGP 7.1带来了一个很麻烦的变动。在Android Studio中运行assemble任务,apk文件会生成在build/intermediates/apk目录中。直接在命令行运行同一个assemble任务却会像以前一样生成到build/outputs/apk中。

这使得在IDE中直接运行sample-host和在命令行中运行./gradlew :sample-host:assembleDebug,需要两种不同的复制插件apk路径。

😞 😞 😞 😞 😞

原来这样😭

kevintcl avatar Feb 11 '22 09:02 kevintcl

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出了再试试看吧。

shifujun avatar Feb 11 '22 09:02 shifujun