我在gradle文件中添加了这行:
project.tasks.findByName('publish').dependsOn('assemble')
但执行publish
任务时出错:
* What went wrong:
Execution failed for task ':apn:publishLibraryPublicationToMavenRepository'.
> Failed to publish publication 'library' to repository 'maven'
> Invalid publication 'library': artifact file does not exist: '/Users/yuanhaodong/Projects/Bk/code_base/blackkey_android/modules/apn/build/outputs/aar/apn-release.aar'
我试过project.tasks.findByName('publish').dependsOn('assembleRelease')
,但仍然没有运气。
后来我改成了
project.tasks.findByName('publishLibraryPublicationToMavenRepository').dependsOn('assemble')
但是project.tasks.findByName('publishLibraryPublicationToMavenRepository')
返回null。
Gradle版本:4.10.1 Android gradle插件版本:3.3.0
任何帮助都很感激。先谢谢你了。
2条答案
按热度按时间blmhpbnm1#
如果你想让你的
publish*
任务(来自maven-publish
插件)依赖于相应的assemble*
任务,请将以下内容添加到你的应用的build.gradle
的根目录:汇编任务的名称是根据发布任务的名称计算得出的,发布任务的名称构造为publishPubNamePublicationToRepoNameRepository
oxcyiej72#
maven-publish
插件根据配置的发布延迟添加任务,因此当project.tasks.findByName
在另一个项目上执行时,这些任务还不可用。如果将代码 Package 在afterEvaluate块中,则可以获得正确的结果: