遇到一个需求, 在打出apk以后, 需要使用x509对apk进行签名, 之前都是把apk copy到一个地方再签名, 很麻烦, 于是使用gradle做了一个自动化的命令
void signHisense() { println("sign >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>") String rootPath = rootProject.projectDir.absolutePath; String targetPath = rootPath + "/tftest" File outputFile = new File(targetPath+ "/build/outputs/apk/tftest-debug.apk") String signPath = rootPath + "/kktv_sdk_manuf_hisense/ext/" String a = "java -jar " + signPath + "signapk.jar " + signPath + "platform.x509.pem " + signPath + "platform.pk8 " String signedPath = outputFile.absolutePath + ".signed.apk"; String cmd = a + outputFile.absolutePath + " " + signedPath; println("cmd:" + cmd) Process p = cmd.execute() p.waitFor() // File signedFile = new File(signedPath); // outputFile.delete(); // signedFile.renameTo(outputFile); }
build.doLast { println "sign " + tv if (tv == "kktv_sdk_manuf_hisense") { signHisense() } }
打包Apk的时候直接
gradle build
就可以在目录下找到对应的 签过名的apk了.
App改名等也可以使用此种方式操作