Gradle Android – 覆盖标准任务

前端之家收集整理的这篇文章主要介绍了Gradle Android – 覆盖标准任务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试将我的Gradle构建的行为自定义Android-Wear友好.

我在我的处理apk中手动捆绑我的磨损apk(因为我没有设法自动完成).

这意味着,如果我想构建一个新版本的处理apk,我必须手动构建我的服装apk,复制/过去生成的穿 – apk insinde我的res / raw处理项目然后构建新处理的apk.

我希望所有这些都能实现自动化.

所以,我需要做的是:

>从cmd行启动应用程序:assembleRelease
> Gradle首先做一件衣服:assembleRelease
>最后,Gradle将apk从wear / output / apk / wear-apk.apk中取出并复制到app / src / main / res / raw
>然后Gradle可以继续执行app:assembleRelease

我没有找到如何从另一个任务启动任务(wear:assembleRelease).

欢迎任何帮助!

最佳答案
我找到了一个可能不是最佳的解决方案,但它可以满足我的需求.

在我的处理应用程序中,我首先要说assemblyRelease取决于我的穿戴:assembleRelease:

应用程序/的build.gradle

project.afterEvaluate {
    preReleaseBuild.dependsOn(':wear:assembleRelease')
}

preReleaseBuild是构建的第一个任务之一,但是这个任务是动态创建的,这就是为什么你必须在项目评估之后将它包装起来.

然后,在我的build build.gradle中,我必须在构建结束时指定副本:

磨损/的build.gradle

assembleRelease << {
    println "Copying the Wear APK"
    copy {
        from 'build/outputs/apk'
        into '../app/src/main/assets'
        include '**/wear-release.apk'
    }
}

只有这些修改,我设法在问题中解释了工作流程.

这可以增强,因为它只适用于发布版本,但这是一个很好的第一步.

随意评论解决方案.

原文链接:https://www.f2er.com/android/431143.html

猜你在找的Android相关文章