当我尝试在Android Studio上调试应用程序时,给出了以下日志输出:
APK文件 /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk没有 存在于磁盘上。
我重启了Android Studio,但是我无法解决这个问题。我怎么解决呢? 谢谢你!
当我尝试在Android Studio上调试应用程序时,给出了以下日志输出:
APK文件 /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk没有 存在于磁盘上。
我重启了Android Studio,但是我无法解决这个问题。我怎么解决呢? 谢谢你!
当前回答
我也得到了这个问题后,清理构建。对我来说,解决方案是我只是同步gradle,它为我工作。
其他回答
在Android Studio 3.1.1中选择文件|同步项目与Gradle文件。
在Android Studio 3中,选择“文件|同步”。
然后再次运行您的项目。
如果你只想知道结论,请翻到最后一部分。谢谢。
通常当构建项目失败时,你可以尝试一些常见的技巧:
Build ->清洁项目 检查构建变量 重启Android Studio(如你所述)
但更具体地说,你的问题-当Android Studio无法在磁盘上找到APK文件。这意味着Android Studio实际上已经成功地构建了项目,并生成了APK,但是,由于某种原因,Android Studio无法找到该文件。
在这种情况下,请根据日志检查打印的目录。它是有帮助的。
例如:
Android Studio 2.0预览版(build 143.2443734)。
签出到一个特定的提交(这样它就从head中分离出来了):git Checkout [commit_hash] 运行项目 Android Studio提示:APK文件/Users/MyApplicationName/app/build/outputs/ APK /app-debug- head . APK在磁盘上不存在 打开目录,有一个文件的名字是:app-debug-(HEAD.apk(有一个额外的圆括号) 运行git分支 *(HEAD在1a2bfff分离)
所以这里你可以看到,由于我的gradle构建脚本的错误,文件命名是错误的。
上面的例子只是一个可能导致同样问题的场景,但根本原因不一定与你的相同。
因此,我强烈建议您检查目录(以找到差异),并检查您的构建。Gradle脚本(你可以更改apk的名字,如下所示):
applicationVariants.all { variant ->
variant.outputs.each { output ->
def newFileName = "whatever you want to name it";
def apk = output.outputFile;
output.outputFile = new File(apk.parentFile, newFileName);
}
}
在我的例子中,我在应用程序文件路径中使用了一个特殊字符。我关闭了Android Studio并从我的应用程序文件路径中删除了'字符。当我重新启动项目时,一切都很正常。
我也有同样的问题。这是由于在路径上的虚名。路上有一个特殊的人物,是这样的: C: \ \ App \ Projekte-Tablet&Handy用户 我删除了“&”字符,效果很好。
同步,清洁,重建和无效缓存和重新启动
没有一个对我有用。
我已经删除了APK和output。Json文件在发布文件夹和调试文件夹,然后尝试同步,清理和构建,然后它工作良好。
或者简单地 删除包含apk和输出的文件夹。Json文件(用于调试/发布)