2

我尝试使用 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 任务与签名任务分开,那就太好了...

4

1 回答 1

1

The only solution is to not setup any signing, so that the packageApplication task generates an unsigned apk.

Then you can add an apk-processing task, after which you'll have to add a custom apk signing step, and then link the zipalign task to its output.

于 2013-07-19T23:59:49.357 回答