当我尝试在Android Studio上调试应用程序时,给出了以下日志输出:

APK文件 /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk没有 存在于磁盘上。

我重启了Android Studio,但是我无法解决这个问题。我怎么解决呢? 谢谢你!


当前回答

确保在日志中生成的路径中(在您的情况下):

/用户/ MyApplicationName / app /构建/输出/ apk / app-debug.apk

文件夹“outputs”确实有一个“apk”文件夹。

这是我的问题,如果它不存在,你将需要运行“装配释放”任务在gradle下面的截图;

然后将生成文件夹。

其他回答

对于Unix类用户(Linux/MacOs X),而不是删除~/。Gradle /caches/,在命令行执行:

$ cd path_to_you_project
$ touch build.gradle

然后要求Android Studio构建APK,它将重置gradle缓存本身。

在gradle 1.5中也遇到了同样的问题

我必须清理构建文件:

Build ->清洁项目

并构建一个APK来强制gradle文件的完整编译和同步:

Build -> Build APK

但我还是不知道为什么会这样。

构建APK(s),并确保它工作

对我来说,只是

查看>工具Windows > Gradle >右键单击[项目]>刷新Gradle项目

我的问题是我将版本号附加到APK。更改版本号和重新同步Gradle为我解决了这个问题。

def appendVersionNameVersionCode(variant, defaultConfig) {
    variant.outputs.each { output ->
        if (output.zipAlign) {
            def file = output.outputFile
            def removeApp = file.name.replace("app-", "")
            def removeType = removeApp.replace("-release", "")
            def fileName = removeType.replace(".apk", "." + defaultConfig.versionName + ".apk")
            output.outputFile = new File(file.parent, fileName)
        }

        def file = output.packageApplication.outputFile
        def removeApp = file.name.replace("app-", "")
        def removeType = removeApp.replace("-release", "")
        def fileName = removeType.replace(".apk", "." + defaultConfig.versionName + ".apk")
        output.packageApplication.outputFile = new File(file.parent, fileName)
    }
}