存在。当我试图在Android Studio中调试应用给出了这样的日志输出:APK文件磁盘上不
The APK file /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk does not exist on disk.
我重新启动Android的工作室,但我解决不了这个问题。我该如何解决它? 谢谢
存在。当我试图在Android Studio中调试应用给出了这样的日志输出:APK文件磁盘上不
The APK file /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk does not exist on disk.
我重新启动Android的工作室,但我解决不了这个问题。我该如何解决它? 谢谢
单击此选项来解决错误:
我希望我每次回来阅读时都能回复这个答案。 – mgarciaisaia
项目目录名中的特殊字符也会引发此错误。 –
我不知道,但这也适用于我。投票表示感谢! – patrickjason91
如果你只是想知道结论,请转到最后一节。谢谢。
一般建设项目失败时,一些常用的技巧,你可以尝试:
但是要莫针对您的问题 - 当Android Studio无法在磁盘上找到APK文件时。这意味着Android Studio实际上已经成功构建了该项目,并且还生成了APK,但由于某些原因,Android Studio无法找到该文件。
在这种情况下,请根据日志检查打印的目录。这很有帮助。
例如:
借助Android工作室2.0预览(建立143.2443734)。
运行的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);
}
}
我的问题是我在APK名称中添加了应用程序版本,但应用程序版本具有xyz格式和“。”。 (点)在命名导致错误。所以记得没有其他的点,但之前的apk :) – DraganescuValentin
我通常看到一个类似的问题时,我切换的Git分支。对于我关闭Android Studio rm -rfv ~/Library/Caches/AndroidStudio*
并重新启动Android Studio是门票。
在我的情况下,执行“与Gradle文件同步项目”帮助。无论是重新启动Andoid Studio还是清除缓存都不做任何事情。
谢谢。它也帮助我。重新启动Andoid Studio和清除缓存都没有帮助。 –
在更改命名脚本后,我改变了命名脚本,这个命令脚本与我的普通'build.gradle'文件不同,所以Android Studio没有自动选择更改并提示我进行同步。 – BadCash
这是真正的答案。 – azizbekian
我已经解决了使用顶部窗口和构建APK中的构建选项来构建apk。不需要做一些奇怪的事情。
面临着同样的问题与gradle这个1.5
我不得不清理生成文件:
Build -> Clean project
,建设APK强制完成Gradle文件的编译和同步:
Build -> Build APK
我仍然不知道为什么或如何发生寿。
如果您使用的是Linux,请尝试将设置写入权限设置为app/build文件夹。
我将build.gradle文件更改为litle信息,然后单击“立即同步”,就好了。
删除目录〜/ .gradle/caches /。在Android Studio打开时执行此操作即可。 (请参阅安装错误的软件包名称) 在Android Studio上按“与Gradle文件同步项目”图标 运行该项目,远程路径将正确。
参考答案@Android Studio gets package name wrong when running .apk
对于Unix用户一样(的Linux/MacOS X系统),而不是删除〜/ .gradle /缓存/,在命令行中执行:
$ cd path_to_you_project
$ touch build.gradle
然后问过Android Studio要构建APK,它将自己重置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)
}
}
你有没有在gradle中调用appendVersionNameVersionCode? – Dhrupal
文件 - >的Invalidate缓存/重启
我有同样的问题。这是由于路径中的虚假名称。在这样的路径中有一个特殊的字符: C:\ User \ My App \ Projekte-Tablet & Handy 我删除了“&”字符,它运行良好。
就我而言,我在应用程序文件路径中使用了一个特殊字符。我关闭了Android Studio并从我的应用程序文件路径中删除了'字符。当我重新开始项目时,一切正常。
是的,理想情况下,Android Studio应该足够聪明,以防止用户在其文件路径中使用特殊字符。或者更好的,我应该自己遵循好的编程实践:) –
如果您尝试了以上所有答案,但无法正常工作,请尝试禁用“即时运行”功能。经过一切努力,这一次帮助我。
文件 - >设置 - >构建,执行,部署 - >即时运行 - >取消选中复选框有
确保你没有撇号或&在你的路径
'&'是让我无法编译的东西。谢谢@Rim Gazzeh –
清理版本后,我也遇到了这个问题。对我来说,解决方案是我只是同步了gradle,它对我很有用。
上面没有任何帮助,但我通过在“构建工具”面板中切换到另一种口味,然后切换回所需的口味,从而想到了这一点。
我的问题是在文件名中包含分钟数 - 当生成的文件是appname_debug_0.9.0.1_170214_2217.apk时,它查找appname_debug_0.9.0.1_170214_2216.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)
}
}
修改文件:build.gradle(app directory)。其实:你不应该改变这个文件,只能通过这个来获取同步提示,然后同步项目。
首先通过编辑配置删除清理程序,它可能在构建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).
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'
}
}
年是2018年的Android Studio版本是3.2.0素α3,我们仍然得到这个问题。由于没有为我工作上面,这里是我的2美分:
每一次发生这种情况我刚才生成的命令行的APK:
gradlew assembleDebug
*我怎样才能解决这个问题*编译apk –
@TimCastelijns我真的不知道Android Studio是否不够智能,无法将创建调试apk任务包含到deb应用程序任务中。应该为此制作Gradle。 – Trilarion
@Trilarion默认情况下,AS执行编译调试apk的gradle的assembleDebug任务。这里看起来有些不对,这需要手动编译 –