Android java.io.IOException:无法运行程序";dx";:错误=2,没有这样的文件或目录

Android java.io.IOException:无法运行程序";dx";:错误=2,没有这样的文件或目录,android,gradle,groovy,Android,Gradle,Groovy,我使用groovy在gradle插件中执行此代码,但它在控制台中提供了一个错误信息: 失败:生成失败,出现异常 出了什么问题: 任务“:app:fakeDexDebug”的执行失败。java.io.IOException: 无法运行程序“dx”:错误=2,没有这样的文件或目录 我在终端执行dx是可以的。我花了七个小时来解决它,但这个错误也在运行。你能告诉我为什么我不能这样做吗 该错误意味着可执行文件dx不包括在执行Gradle的用户的路径变量中 但无论如何,如果您在Gradle,我建议不要使用G

我使用groovy在gradle插件中执行此代码,但它在控制台中提供了一个错误信息:

失败:生成失败,出现异常

出了什么问题:

任务“:app:fakeDexDebug”的执行失败。java.io.IOException: 无法运行程序“dx”:错误=2,没有这样的文件或目录


我在终端执行dx是可以的。我花了七个小时来解决它,但这个错误也在运行。你能告诉我为什么我不能这样做吗

该错误意味着可执行文件
dx
不包括在执行Gradle的用户的
路径
变量中


但无论如何,如果您在Gradle,我建议不要使用Groovy
String.execute()
方法,而是创建执行程序的
Exec
类型的任务,或者如果它是一个任务的多个操作的一部分,则使用
Exec()方法
方法,该方法具有与执行任务相同的功能。

该错误意味着执行Gradle的用户的
路径
变量中不包含可执行的
dx


但无论如何,如果您在Gradle,我建议不要使用Groovy
String.execute()
方法,而是创建执行程序的
Exec
类型的任务,或者如果它是一个任务的多个操作的一部分,则使用
Exec()方法
方法,该方法具有与执行任务相同的功能。

使用
dx.bat
,而不是在windows系统中简单地使用dx

做一个梯度任务,它将更容易,如下所示

def result = "dx --dex --output=${aarDex}   ${classesJar}".execute()

在windows系统中使用
dx.bat
而不是简单地使用dx

做一个梯度任务,它将更容易,如下所示

def result = "dx --dex --output=${aarDex}   ${classesJar}".execute()

我很高兴收到你们的答复,但我可以在终端上执行dx。所以我认为我的路径是正确的。我只能在gradle插件中执行。我会崩溃的。哦,我的天。也许可以尝试“echo$PATH”。execute()来验证路径中的内容。非常感谢,我在多台计算机上执行代码,但它不正常。很抱歉,如果不亲自动手,我只能说路径中找不到可执行文件。我解决了它。但我不知道为什么。我添加了一个gradle插件的扩展和一个Sign dx'absolutePath,比它工作的更好。我很高兴收到你的答案,但我可以在终端上执行dx。所以我认为我的路径是正确的。我只能在gradle插件中执行。我会崩溃的。哦,我的天。也许可以尝试“echo$PATH”。execute()来验证路径中的内容。非常感谢,我在多台计算机上执行代码,但它不正常。很抱歉,如果不亲自动手,我只能说路径中找不到可执行文件。我解决了它。但我不知道为什么。我添加了一个gradle插件的扩展和asign dx的absolutePath,但效果并不理想。