File -> Settings -> Build, Execution, Deployment -> Instant Run -> Uncheck checkbox there
0
我的问题是,不知何故,它真的找不到apk,而apk存在 .
The APK file /Users/Paul/AndroidStudioProjects/android-tv-launcher/ui/build/outputs/apk/nameofapk.apk does not exist on disk.
Error while Installing APK
30 回答
今年是2018.Android Studio版本是3.2.0 alpha3,我们仍然遇到这个问题 . 由于以上都不适合我,这是我的2美分:
每次发生这种情况我只是从命令行生成apk:
UPDATE
删除文件夹
.AndroidStudio[version]
并丢失所有首选项和缓存...似乎解决了问题就我而言,我在app文件路径中使用了一个特殊字符 . 我关闭了Android Studio并从我的应用文件路径中删除了 ' 字符 . 当我重新开始这个项目时,一切都运转良好 .
我有同样的问题 . 这是由于路径中的假名 . 路径中有一个特殊字符,如下所示:C:\ User \ My App \ Projekte-Tablet&Handy我删除了“&”字符,效果很好 .
删除目录〜/ .gradle / caches / . 在Android Studio打开时可以这样做 . (请参阅pm安装错误的软件包名称)在Android Studio上按“与Gradle文件同步项目”图标运行项目,远程路径将正确 .
请参阅答案@ Android Studio gets package name wrong when running .apk
上面没有任何东西对我有帮助,但我通过在Build Tools面板中切换到另一种风格然后切换回所需的风格来解决这个问题 .
首先通过编辑配置删除清理器,它可能是在构建apk后清理构建 .
确保 Run/Debugging configurations >> before launch 部分中有 Grading-aware Make :
在我的例子中,执行“与Gradle文件同步项目”有帮助 . 重启Andoid Studio和清除缓存都没有做任何事情 .
修改文件:build.gradle(app directory) . 实际上:您不应该更改此文件,只能通过此方式获取同步提示,然后同步项目 .
确保您的路径中没有 apostrophe 或 &
使用新的Android Studio 3.1解决了2018年5月的问题 . 删除app文件夹中的.gradle,.idea和build目录 . 然后尝试再次运行它,你将看不到错误 .
对于类似Unix的用户(Linux / MacOs X),而不是删除〜/ .gradle / caches /,在命令行中执行:
然后请求Android Studio构建APK,它将重置gradle缓存本身 .
我的问题是我将版本号附加到APK . 更改版本号并重新同步Gradle为我解决了问题 .
我将build.gradle文件更改为litle信息,然后单击“立即同步”,就行了 .
我通常在切换git分支时见证了类似的问题 . 对我来说,关闭Android Studio
rm -rfv ~/Library/Caches/AndroidStudio*
并重新启动Android Studio就是一张票 .单击此选项可解决错误:
该按钮被称为"Sync Project with Gradle Files",它看起来很相似:
...总是需要点击它,更新版本号,这导致另一个APK文件名(除非文件名没有改变,安装包总是有效,提示,文件名正在被缓存) . 等效的Gradle CLI选项似乎是
--recompile-scripts
.@see Appendix D. Gradle Command Line .
如果您尝试了以上所有答案并且无效,请尝试禁用“即时运行”功能 . 所有的尝试都帮助了我 .
File -> Settings -> Build, Execution, Deployment -> Instant Run -> Uncheck checkbox there
我的问题是,不知何故,它真的找不到apk,而apk存在 .
我所要做的就是右键单击apk-copy相对路径,然后就可以了
而apk已经安装好了 . 这个问题在我的OSX上发生了 .
清理完构建后,我也遇到了这个问题 . 对我来说,解决方案是我只是同步gradle,它对我有用 .
文件 - >使高速缓存/重新启动无效
我的问题是在文件名中包含分钟 - 当生成的文件是appname_debug_0.9.0.1_170214_2217.apk时,它查找了appname_debug_0.9.0.1_170214_2216.apk,因此输出文件名代码(从其他地方获得)显然是从两个不同的点调用的在构建中 .
如果您只是想知道结论,请转到最后一节 . 谢谢 .
通常在构建项目失败时,您可以尝试一些常见的技巧:
Build - > Clean Project
检查 Build Variants
Restart Android Studio(如您所述)
但是要更具体地解决您的问题 - 当Android Studio无法在磁盘上找到APK文件时 . 这意味着Android Studio实际上已经成功构建了项目,并且还生成了APK,但是,出于某种原因,Android Studio无法找到该文件 .
在这种情况下,请根据日志检查打印目录 . 这很有帮助 .
例如:
随着AndroidStudio 2.0预览版(内部版本143.2443734) .
签出特定提交(以便它与头部分离): git checkout [commit_hash]
运行项目
Android Studio告诉:磁盘上不存在APK文件/ Users / MyApplicationName / app / build / outputs / apk / app-debug-HEAD.apk
转到目录,有一个实际命名的文件: app-debug-(HEAD.apk (带有一个额外的括号)
运行 git branch
*(HEAD在1a2bfff分离)
所以在这里你可以看到, due to my gradle build script's mistake ,文件命名在某种程度上是错误的 .
上面的示例只是一个可能导致相同问题的情况,但不一定与您的根本原因相同 .
因此,我强烈建议您 check the directory (找到差异),并检查您的 build.gradle 脚本(您可以在那里更改apk名称,如下所示):
如果您在更新Android Studio V 3.1后遇到此问题,请尝试以下操作 .
当我更新到Android Studio 3.1时,我遇到了同样的问题 . 我在这里找到的所有其他解决方案都非常手动,因为每次都必须清理和重建,这根本就不好 . 但是由于_452633的回答,我能够解决它 .
转到 Run -> Edit Configurations...
确保在“发布前”部分中有“Gradle-aware Make”:
要添加它,请单击 + 符号并选择 Gradle-aware Make ,将出现一个弹出窗口,只需将文本字段留空,然后单击 OK 和 OK .
如果您使用的是Linux,请尝试为app / build文件夹设置写入权限 .
在Android Studio 3.1.1中选择File |使用Gradle文件同步项目 .
在Android Studio 3中,选择“文件”|同步 .
然后再次运行您的项目 .
使用gradle 1.5面临同样的问题
我不得不清理构建文件:
并构建一个APK以强制gradle文件的完整编译和同步:
我仍然不知道为什么或如何发生 .
我已经使用顶部窗口中的Build选项和Build APK解决了构建apk的问题 . 不需要做一些奇怪的事情 .
确保在您的日志中生成的路径中 - 在您的情况下:
文件夹“outputs”确实有一个“apk”文件夹 .
这是我的问题,如果它不存在,你需要按照下面的截图在gradle中运行“assembleRelease”任务;
然后将生成该文件夹 .