2014-09-23 79 views
2

所以我有一个custom_rules.xml文件,我试图在gradle中重建。到目前为止,我没有任何问题算出所有其他部分,但最后一部分我试图完成的是运行一个特殊的apk签名工具widevine drm对我生成的未签名的apk使用我的gradle构建过程。我一直在网上查找gradle文档,但我还没有找到如何从gradle运行可执行jar文件。我知道我必须创建一个任务,但这是关于它的。任何帮助将非常感激。Android studio - 如何使用gradle中的可执行jar文件

PS。香港专业教育学院读了很多的gradle这个文件的,请饶了我任何阅读文档的响应

编辑:

这是我的任务看起来像此刻,它编译,但林不知道它实际上做任何事情

task (runApkSigTool , dependsOn: 'android', type: JavaExec) { 

classpath files('apksigtool.jar') 
main 'com.widevine.tools.android.apksigtool.ApkSigTool' 
args[0] = apkLocation 
args[1] = 'private_key.der' 
args[2] = 'my.crt' 

} 

林不知道如果我要使用它就像在我的build.gradle文件或什么的机器人部分的方法。

+0

我对我的问题的最终解决方案是在这里http://stackoverflow.com/questions/26048396/best-way-to-sign-an-apk-using-ant-in-a- build-gradle-file – 2014-09-29 18:33:47

回答

3

你也许可以使用JavaExec任务。这样的事情:

task signApk(type: JavaExec) { 
    classpath files('path/to/executable.jar') 
    main 'com.foo.MainClass' 
    args ['-foo', 'bar'] 
} 
+0

感谢您提供答案。由于我的项目是一个Android应用程序,我将如何使用我的主要声明? – 2014-09-23 03:34:16

+1

主将是您的可执行jar中的主类。通常情况下,Java通过查看jar清单中的Main-Class标题来执行类似'java -jar'的操作时可以为您解决这个问题。您可以简单地打开jar包并查看清单以查找此信息。 – 2014-09-23 03:37:03

+0

酷感谢:)如果我不能使这项工作,也许我会尝试在任务中使用命令行功能。 – 2014-09-23 03:37:59

相关问题