我尝试使用 gradle 来构建我的 android 应用程序,到目前为止它很好,我能够使用 dependsOn、doLast 等在基本构建流程中的默认任务之间添加我的自定义任务。 但似乎有一些内部任务相互紧密联系,很难定制它们......例如,我可以在“dex”任务之后添加我的任务,或者在“packageApplication”任务之后添加我的任务,但是打包和签名任务似乎很难分开。 出于安全原因,我的应用程序需要使用第三方库,它会在对 APK 进行签名和压缩对齐之前对其进行一些预处理。 我怎样才能做到这一点?如果我在“dex”之后添加我的自定义任务 - 它太早(还没有 apk),如果我在“packageApplication”任务之后添加它 - 它太晚了(apk 已经签名)。 也许有破解任务树的方法,但要查看https://android.googlesource.com/platform/tools/build/+/master/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy似乎不是那么容易做到的。 如果 packageApp 任务与签名任务分开就好了...
最佳答案
唯一的解决方案是不设置任何签名,以便 packageApplication 任务生成一个未签名的 apk。
然后您可以添加一个 apk 处理任务,之后您必须添加一个自定义的 apk 签名步骤,然后将 zipalign 任务链接到它的输出。
关于android - Gradle 安卓 : how to add custom apk task before apk sign?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17748457/