Android多模块注释处理

问题描述 投票:2回答:1

在多模块中,在完成任何编译之前,仍将Android项目注释处理作为第一个任务执行,然后触发完整的编译。当然,这是在进入app模块之前按模块完成的。

想象一下某些子模块依赖于其他子模块的情况,编译将失败,因为从属无法yet在其所依赖的模块中找到生成的类的定义,这仅仅是因为它们尚未生成。

我想知道是否有一种方法可以使用gradle或其他任何方法来强制执行所有子模块注释处理,然后以自动方式编译整个项目。这意味着如果我有3个模块,我们将其命名为appservicesexecutors,其中services取决于executors

我正在寻找的是构建树将按此顺序进行:

  1. 对所有模块进行注释处理而未进行编译
  2. 然后调用完整的项目编译

到目前为止,我使用java compiler's选项-proc:{none;only}发现了一些有希望的线索,其中值only应该调用注释处理,而无需任何进一步的编译。我曾尝试将此option传递给我的编译器,但still编译将按每个子模块顺序进行子模块。

有什么想法吗?

java android annotation-processing
1个回答
0
投票

Android Studio的最新版本,android studio 4.0支持动态特性相互依赖

enter image description here

如果您使用的是Android Studio 4. +,则模块彼此依赖时,无论它们是动态模块还是库,都不会遇到任何问题。

实际上,我已经拥有带有一个库模块的应用程序,具体取决于其他库模块,并且可以正常编译。当时是Android Studio 3.6。编译没有问题。

© www.soinside.com 2019 - 2024. All rights reserved.