Android Studio - 本地路径不存在

141
更新 Android Studio 到 0.2.4 后,我无法将我的项目部署。apk 文件名完全不匹配。
Waiting for device.
Target device: 0146B0020E010020
Uploading file
    local path: /home/martin/workspace/git/projectname/projectname/project/build/classes/debug/AppName.apk
    remote path: /data/local/tmp/com.xxx.xxx.android.projectname
Local path doesn't exist.

阅读了这里的一些帖子后,我将输出路径更改为build/apk文件夹,但问题仍然存在。他正在寻找projectname.apk而不是创建的projectname-debug-unaligned.apk,我不知道如何在哪里告诉他要更改他正在寻找的名称。有什么想法吗?

PS:是的,我看了右侧列表中显示的几篇文章。IDE的重启对我的同事有效,但对我无效。

编辑:

我从一个问题跌跌撞撞地到达下一个问题,所以我回退到我能找到的唯一可下载版本:0.2.0。

没有消失的UI元素,我可以创建新项目,并且最重要的是,我终于可以将APK从工作室部署到我的设备上了。我将尝试在发布0.2.5时使用它。


我尝试了0.2.5版本,但问题仍未解决……你有找到其他的解决方案吗? - Rémi F
它对我有用。我在不同的项目之间频繁切换,还创建了一个新项目,然后它开始工作了... 不确定所有这些似乎如何相互关联... - WarrenFaith
5
对我来说一个简单的解决方法是在我的模块 iml 文件(实际上是配置文件)中添加<option name="APK_PATH" value="/build/apk/appname-debug-unaligned.apk" />。我也按照 Victor 的答案解决了这个问题(清理所有并重新导入项目)。 - Rémi F
可能是重复的问题:android studio not loading on device, local path doesn't exist - childno͡.de
0.2.10仍存在此问题。 - Valerio Santinelli
这在我的Mac上发生在2.0.13以下版本。添加APK_PATH解决了我的问题。 - Kevin
28个回答

273

我最初在从0.2.13升级到0.3后看到了这个错误。这些说明已经更新,适用于Android Studio 0.5.2的发布。以下是我解决该问题所完成的步骤:

1.在 build.gradle 中确保 gradle 被设置为 0.9.0

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.9.0'
    }
}

2. 在 gradle-wrapper.properties 中确保使用 gradle 1.11

#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.11-all.zip

3.按下 avd 按钮左侧的按钮,将项目与 gradle 文件同步。

输入图像描述

4.尝试重新构建项目。如果仍然有问题,请尝试选择“文件” > “无效缓存/重启”

注意:如果您正在使用0.9.+并出现Could not GET 'http://repo1.maven.org/maven2/com/android/tools/build/gradle/'。Received status code 401 from server: Unauthorized 的错误(偶尔会发生),请更改为 0.9.0。此外,我认为您必须使用版本为19.0或更高版本的构建工具,请确保已在 sdk 管理器中下载这些版本,并在包含该信息的任何 gradle 文件中使用 buildToolsVersion


9
非常好的回答。我想补充一点,您还需要更新所有库的 build.gradle 文件。如果在此之后仍然遇到问题,请尝试关闭 Android Studio 并重新打开。 - ingh.am
1
只需将构建工具(或者说它本身是Gradle?如果不把生命投入到另一个构建系统的枯燥中,就无法知道)提升至0.6版本,这个问题就被解决了。 - nmr
是的,如果您已经在使用1.8版本,那么只需执行步骤1即可解决问题。我仍在使用1.6版本,它告诉我如果我要在build.gradle中使用gradle:0.6.+,就必须使用1.8版本。 - Adam Johns
1
这个问题确实是在升级到0.3版本时出现的。完美答案。 - mmvie
3
运作得很好。我需要按照第四步骤来让它运行。 - r4m
显示剩余5条评论

37

1
无法正常工作,因为我遇到了这样的问题 - WarrenFaith
对我来说也只有这个解决方案。Gradle包装器似乎已经正确设置并引用了适当的插件。 - loeschg
其他答案都不起作用。这是唯一解决我的问题的答案。谢谢。 - Ayaz Alifov
运行得非常顺利 - Asad Ullah

26

我成功地找到了一个临时解决方案。您可以使用命令行自行完成:

// build apk
./gradlew assemble --daemon

// debug apk is unaligned so we need to align it
zipalign -f 4 app/build/apk/app-debug-unaligned.apk app/build/apk/app-debug.apk

// reinstall it using adb
adb install -r app/build/apk/app-debug.apk

这只是暂时的,但我希望他们能在0.2.5中修复这个问题。

编辑:在0.2.5中未修复。

编辑2:通过在我的module.iml文件中添加(在facet/configuration中),现在已经修复了。

<option name="APK_PATH" value="/build/apk/appname-debug-unaligned.apk" />

这个测试有效吗? - Zafer Celaloglu
Edit2已经为我解决了这个问题。 - scubbo

14

我通过在我的启动配置中添加“Gradle-aware make”来解决了这个问题。

输入图像描述


哈利路亚。你是我的救星。 - Rubén Viguera

14

重启 Android Studio (0.3.0) 对我有用。


3
没问题,这对我在0.3.0版本上完美地运行了。我不需要删除任何文件夹或文件。 - IgorGanapolsky

9

从0.2.13升级到0.3.0

只需从http://www.gradle.org/downloads下载新的Gradle 1.8版本

重新导入项目并选择使用新的Gradle版本。

在build.gradle文件中进行修改。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.1'
    }
}

我不确定是否真的需要,但在重新导入项目之前,我使用“无效化缓存并重启”功能。

invalidate caches and restart

谢谢,仍在处理一些丢失路径情况下的缓存无效化。 - Martin Revert

6

我尝试了所有这些答案,但都没有起作用。我认为这个问题的一个常见原因是一些更简单的东西。

我建议所有遇到这个问题的人查看他们的启动配置:

启动配置

看!启动配置包含选项,用于部署哪个APK。如果选择默认值,Android Studio将无法识别您gradle文件中的任何产品口味、构建类型等。在我的情况下,我有多个构建类型和产品口味,并且在尝试启动非默认产品口味时收到“没有本地路径”的消息。

Android Studio并没有错!它找不到默认的APK,因为我没有为它构建。我通过选择“不部署任何内容”,然后执行我需要的特定组合的产品口味/构建类型的gradle安装任务来解决了我的问题。


5

就像这里所写的一样:

我遇到了这个问题,即使没有从Eclipse转移,我仍然感到沮丧,因为它一直显示没有编译或packageDebug错误。如果您进行清理,然后运行packageDebug,它似乎会自己修复。不用担心过时的方法声明 - 它似乎是针对开发人员的通知。

打开命令行,并在项目的根目录中运行:

./gradlew clean packageDebug

显然,如果这两个步骤中有任何错误,您都应该修复它们...但是当它们都成功时,您现在应该能够在导航本地路径时找到apk - 更好的是,您的程序应该安装/运行在设备/模拟器上!


3
我刚刚成功解决了这个问题。我按照亚当的指示操作,但仍然无法正常工作,所以我继续探索,在亚当的指示之上进行了以下操作:
我进入了“模块设置”,在“路径”选项卡下的“编译器输出”中选择了“继承项目编译输出路径”。我正在运行0.3.0版本。

你修好了还是没修好? - Max
是的,这解决了问题。从Adam的步骤+更改输出路径成功了。 - Dan Pena

2

我不得不重新导入我的项目。我还确保在我的build.gradle文件中更新了gradle依赖项。在Android Studio 0.3的情况下,这是0.6.+。这似乎解决了问题。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接