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

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

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


当前回答

首先通过编辑配置来删除cleaner,它可能在构建apk后清理构建。

Click on edit from set run/debug then click on gradle list select the clean project item and then click on -(top 2nd from left).

其他回答

在我的案例中,执行“用Gradle文件同步项目”有帮助。无论是重新启动android Studio还是清除缓存都不起任何作用。

如果你使用的是Linux,试着给app/build文件夹设置写权限。

我的问题是在文件名中包含分钟-它寻找appname_debug_0.9.0.1 1_170214_2216.apk,而生成的文件是appname_debug_0.9.0.1 1_170214_2217.apk,因此输出文件名代码(从其他地方捕获)显然是从构建中的两个不同的点调用的。

applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def project = "appname"
            def SEP = "_"
    //        def flavor = variant.productFlavors[0].name
            def buildType = variant.variantData.variantConfiguration.buildType.name
            def version = variant.versionName
            def date = new Date();
            def formattedDate = date.format('yyMMdd_HHmm')

            def newApkName = project + SEP + /*flavor + */ SEP + buildType + SEP + version + SEP + formattedDate + ".apk"

            output.outputFile = new File(output.outputFile.parent, newApkName)
        }
    }

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

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

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

$ cd path_to_you_project
$ touch build.gradle

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