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

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

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


当前回答

删除~/.gradle/caches/目录。在Android Studio打开时这样做是可以的。(参考pm安装错误的包名) 在Android Studio上按“同步项目与Gradle文件”图标 运行项目,远程路径将是正确的。

参考答案@ Android Studio在运行.apk时得到错误的包名

其他回答

使用Android Studio 2.2.1,我从顶部的下拉菜单中点击了“用Gradle文件同步项目”选项,Tools>Android

与上面的答案类似,请参见下面的屏幕截图,了解如何获得这个选项。

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

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

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

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

然后将生成文件夹。

    1) This problem occure due to apk file .if your apk file
        (output/apk/debug.apk) not generated in this format . 

    2) you should use always in gradle file .

    buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }

我通过做来解决这个应用

第一次构建- >构建Apk(s) 现在运行应用程序

如果它不工作做清洁和建立项目,然后再做1和2。

如果你只想知道结论,请翻到最后一部分。谢谢。

通常当构建项目失败时,你可以尝试一些常见的技巧:

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);
        }
    }