AGP 7.1.0 对 apk 进行了哪些改变?

10
我刚刚将Android Studio从Arctic Fox升级到Bumblebee,并将AGP从7.0.4升级到7.1.0。 在此输入图像描述 当前项目包含: 在此输入图像描述 多年来,gradle任务assembleOfficialRelease为"official"口味生成的apk位于以下目录中:
..app/build/outputs/apk/official/release/app-official-release.apk

我假设是新的AGP更改了位置到:
..app/build/intermediates/apk/official/release/app-official-release.apk

我试图找出AGP在apk上做了什么其他的修改,但在发布说明中没有找到任何信息。

我想知道是否有人能够提供见解,告诉我新的AGP在发布给用户之前对apk进行了哪些更改。

更新(2022-05-09)

Android Studio Chipmunk将apk文件放回了文件夹..app/build/outputs/apk/official/release/,并没有任何通知。这又让我浪费了很多时间,直到我意识到这一点。


2
是的,这确实很奇怪。最终版本的行为也是一样的。有趣的是,应用程序包仍然存放在输出文件夹下。 - Martin Price
只要他们没有更改apk的任何内容,而且唯一的更改是文件位置,那么这个更改就没问题。我知道他们一直在推动捆绑包,但我们有充分的理由避开它们。 - Hong
@Hong 我只是猜测.. 但是当你运行应用程序安装到设备上时。这不是一个完整的应用程序,它只会生成与连接设备ABI相对应的APK文件.. 因此,不将其保留在输出中是有道理的.. 因为这会让一些开发人员感到困惑。 - Sylwek845
@Sylwek845 我在谈论由gradle任务assembleOfficialRelease生成的apk,因此该apk不是用于调试,而是用于生产部署。我发布后到目前为止还没有看到任何问题。 - Hong
1
使用这个Gradle版本编译后,我的APK确实变小了一点。希望没有遗漏任何东西。 - vgergo
1个回答

7
我也注意到了这种奇怪的行为。如果您在Android Studio中运行Gradle任务,则似乎会将apk文件放在 intermediates 中,而如果您在命令行上运行Gradle任务(至少对于Linux上的bash),则会将文件放在outputs 中。
使用 Android Gradle插件7.3.0-alpha05的Canary版本的Android Studio似乎解决了这个问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接