Android Gradle-应用安装后如何运行任务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Gradle-应用安装后如何运行任务相关的知识,希望对你有一定的参考价值。
通过Gradle安装应用程序后,我需要将一些文件复制到android应用程序文件夹(数据/数据/ ...)。 这必须在启动应用程序之前在每个调试版本中完成,因此我假设我可以找到可以在安装后(但在运行命令之前)执行的gradle任务。
[在执行类似操作时,它对于其他任务也可以正常工作
tasks.whenTaskAdded { task -> if (task.name == 'build') { task.dependsOn taskXYZ } }
然后他们将在我的构建任务执行之前得到执行。但是,由于我需要在安装过程之后(以及应用程序运行之前)进行此操作,所以我希望这样的事情:
tasks.whenTaskAdded { task -> if (task.name.startsWith('install')){ println ">>>>>>>>> " + task.name task.finalizedBy taskXYZ }
但是可悲的是,这不起作用。
在构建输出中,我可以看到它在一开始就执行了。
Executing tasks: [:app:assemblePlayStoreStagingDebug] in project /Users/... > Configure project :app ########################### TASK XYZ WAS EXECUTED HERE! ########################### ---> installPlayStoreStagingDebug > Task :app:preBuild UP-TO-DATE > Task :app:prePlayStoreStagingDebugBuild > Task :app:compilePlayStoreStagingDebugAidl UP-TO-DATE ... > Task :app:stripPlayStoreStagingDebugDebugSymbols UP-TO-DATE > Task :app:packagePlayStoreStagingDebug > Task :app:assemblePlayStoreStagingDebug BUILD SUCCESSFUL in 6s 33 actionable tasks: 6 executed, 27 up-to-date
看来任务没有在预期的时间执行。我需要的是这样的:
- 任务生成
- 任务安装
- 任务XYZ
- 任务运行应用程序
但是我怎么能做到这一点?
这样的解决方案Android run Gradle task after app install似乎不适合安装任务。
通过Gradle安装应用程序后,我需要将一些文件复制到Android应用程序文件夹(数据/数据/ ...)。在启动应用程序之前,必须在每次调试构建时都执行此操作,因此我认为我可以...
答案
在gradle中,您可以使用mustRunAfter任务,这不会在任务之间创建依赖关系,而是会强制一个任务位于构建序列中其他任务的列表之后。
以上是关于Android Gradle-应用安装后如何运行任务的主要内容,如果未能解决你的问题,请参考以下文章
更新Google服务插件并且无法安装应用程序成功完成gradle后
Android Studio 4.1更新后应用程序的Gradle构建错误