当我尝试在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,但是我无法解决这个问题。我怎么解决呢? 谢谢你!
当前回答
当我切换git分支时,我经常看到类似的问题。对我来说,关闭AndroidStudio rm -rfv ~/Library/Caches/AndroidStudio*并重新启动AndroidStudio是门票。
其他回答
首先通过编辑配置来删除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).
同步,清洁,重建和无效缓存和重新启动
没有一个对我有用。
我已经删除了APK和output。Json文件在发布文件夹和调试文件夹,然后尝试同步,清理和构建,然后它工作良好。
或者简单地 删除包含apk和输出的文件夹。Json文件(用于调试/发布)
对于Unix类用户(Linux/MacOs X),而不是删除~/。Gradle /caches/,在命令行执行:
$ cd path_to_you_project
$ touch build.gradle
然后要求Android Studio构建APK,它将重置gradle缓存本身。
我的问题是在文件名中包含分钟-它寻找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)
}
}
这个按钮叫做“同步项目与Gradle文件”,它看起来像:…当更新版本号时,总是需要单击它,这将导致另一个APK文件名(除非文件名没有改变,安装包总是有效的,这提示,文件名正在被缓存)。等效的Gradle CLI选项似乎是——recompile-scripts。
见附录D. Gradle命令行。