android - Gradle 安卓 : how to add custom apk task before apk sign?

标签 android gradle

我尝试使用 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/

相关文章:

android - Git 停止在 Android studio 上工作

eclipse - 不知道要开始测试sphinx4的类

android - 我如何在Gradle中为同一目录级别的两个项目表示依赖性?

android - 按照教程创建flutter app失败

android - Android Studio:从备份导入/重新打开项目后,完整的项目结构丢失

javascript - TabNavigator 将不同的参数从每个屏幕传递到 StackNavigator header

android - 如何在 ListView 中实现延迟加载的图像列表

android - 如何测试 NFC 应用程序?

android - 我们如何更改微调器的背景颜色?

java - 使用 NDK 应用在 gradle 中不起作用的插件