zih*_*yef 11 android gradle gradlew
我的 android 项目中有多个模块。如果我用它制作一个发行版 apk,:app:assembleRelease它可以工作,但是当我用它制作一个发行版 apk 时,assembleRelease它会一直显示错误。我知道我的代码中有错误,但这不是我质疑的问题。assembleRelease我只是想知道和之间有什么区别:app:assembleRelease
Jee*_*ede 12
在多模块 Gradle 项目中,如果您没有显式引用您的模块,则 Gradle 默认情况下会尝试从根项目的任务图中查找该任务。
例如:如果您有多个名为module1和module2的模块,那么在评估阶段 Gradle 会将每个模块的任务分配到它们自己的扩展中。这意味着您现在必须将其称为:module1:task1&:module2:task2
assembleRelease这就是为什么不起作用和起作用的原因:app:assembleRelease。
您可以通过在 Android Studio/IntelliJ IDEA 中打开“Gradle”窗口来检查任务图表。
如果您查看下图,您可以看到“任务”节点,其中包含根项目中可用的常见任务。
虽然还有其他模块相关的任务可以在扩展它自己的节点中找到。
请注意:在 android 中,您可以拥有多个模块,但您的默认模块始终缩写为应用程序模块,而其他模块则被视为库模块,它们由单个模块的名称缩写,如上图中的 base、db、domain 等(您可以我猜在同一个项目中没有多个应用程序模块)。
:app:assembleRelease和的区别在于assembleRelease,assembleRelease执行assembleRelease各个模块的任务,同时:app:assembleRelease执行模块assembleRelease内的任务app。
显然,两者的任务图都已正确填充,这意味着:app:assembleReleaseAndroid 依赖assembleRelease于:app.
| 归档时间: |
|
| 查看次数: |
14775 次 |
| 最近记录: |