我尝试使用gradle构建我的Android应用程序,到目前为止它很好,我能够使用dependsOn,doLast等在基本构建流程中的默认任务之间添加自定义任务。 但似乎有一些内部任务彼此紧密相关并且难以定制它们......例如,我可以在“dex”任务之后或“packageApplication”任务之后添加我的任务,但打包和签名任务似乎很难分裂。 出于安全原因,我的应用程序需要使用第三方库,它在进行签名和zipaligned之前对APK进行一些预处理。 我怎样才能做到这一点?如果我在“dex”之后添加我的自定义任务 - 它太早(没有apk),如果我在“packageApplication”任务之后添加它 - 它太晚了(apk已经签名)。 也许有办法破解任务树,但调查https://android.googlesource.com/platform/tools/build/+/master/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy似乎并不那么容易。 如果将packageApp任务与签名任务分开,那就太好了......
答案 0 :(得分:1)
唯一的解决方案是不设置任何签名,以便packageApplication任务生成一个未签名的apk。
然后您可以添加apk处理任务,之后您必须添加自定义apk签名步骤,然后将zipalign任务链接到其输出。