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 发布后立即尝试。

4

28 回答 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.尝试再次构建项目。如果仍有问题,请尝试 File > Invalidate Caches/Restart

注意:如果您正在使用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 管理器中下载了这些工具,并buildToolsVersion在包含该信息的任何 gradle 文件中使用。

于 2013-10-21T14:15:56.080 回答
37

尝试这个:

  1. 关闭 IDE
  2. 删除项目中的 .idea 文件夹和所有 .iml 文件。
  3. 重新启动 IDE 并重新导入项目。

原帖:https ://code.google.com/p/android/issues/detail?id=59018

于 2013-08-15T19:48:26.947 回答
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 中未修复

Edit2:通过添加我的 module.iml 文件(在构面/配置中)暂时修复:

<option name="APK_PATH" value="/build/apk/appname-debug-unaligned.apk" />
于 2013-08-16T22:10:14.573 回答
14

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

于 2013-10-21T05:48:46.430 回答
14

我通过在启动配置中启动之前添加“Gradle-aware make”来解决此问题。

在此处输入图像描述

于 2014-09-16T14:30:27.937 回答
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'
    }
}

不确定它是否真的需要,但我在重新导入项目之前使用无效缓存并重新启动 使缓存无效并重新启动

于 2013-10-21T09:04:35.217 回答
6

呵呵尝试了所有这些答案,但都没有奏效。我认为这个问题的一个常见原因是简单得多。

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

启动配置

看!启动配置包含要部署的 APK 的选项。如果你选择默认,Android Studio 将对你在你的 gradle 文件中的任何产品风格、构建类型等都是愚蠢的。就我而言,我有多种构建类型和产品风格,并且在尝试启动非默认产品风格时收到“无本地路径”。

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

于 2014-10-21T15:10:43.143 回答
5

就像在这里写的:

我刚刚遇到了这个问题,即使没有从 Eclipse 传输,我也很沮丧,因为我一直没有显示任何编译或 packageDebug 错误。如果你清理然后运行 ​​packageDebug,它会以某种方式自行修复。不要担心已弃用的方法声明 - 它似乎是对开发人员的一般通知。

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

./gradlew clean packageDebug

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

于 2013-11-10T14:57:55.677 回答
3

我只是设法解决了这个问题。我遵循了亚当斯的指示,但它仍然不起作用,所以我继续挖掘并在亚当斯的指示之上做了这个:

我去了Module Settings并在我选择Paths下的选项卡中。我正在运行 0.3.0Compiler outputInherit project compile output path

于 2013-10-24T09:45:09.807 回答
2

只需关闭 Android Studio 并重新启动它和 Sysnc。再次使用 Gradle 文件......并再次运行项目

于 2013-09-27T07:34:10.680 回答
2

如果您在升级到工作室后遇到此问题,0.3.4请执行rm android-studio/plugins/gradle/lib/gradle-*-1.8.jar. 那里有一个1.9-rc-2可用的 gradle 版本。确保您的 gradle 路径设置为自动。如果设置手动更改为自动或手动将其指向最新的 gradle 版本。

还要确保您./gradlew clean packageDebug在项目根目录中运行。

参考

于 2013-11-11T19:37:33.503 回答
2

我不得不重新导入我的项目。我还确保更新我的 build.gradle 文件中的 gradle 依赖项。对于 Android Studio 0.3,这是 0.6.+。这似乎奏效了。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
于 2013-10-21T07:32:24.167 回答
2

您是否尝试过构建 -> 重建项目?

于 2013-10-21T13:05:00.023 回答
1

我从 0.2.5 升级到 0.2.7 后得到了这个。删除所有 *.iml、.idea 文件夹并重新启动 IDE,然后重新导入 settings.gradle 为我工作

于 2013-09-09T22:47:44.680 回答
1

解决此问题的最佳方法。

http://www.youtube.com/watch?v=i4WcMIyc8OQ

祝你好运=D

于 2013-11-01T15:09:46.503 回答
1

如果您在更新到 android studio 版本 0.3.3 或 0.3.4 时遇到了这个问题,那么您需要从 android-studio/plugins/gradle/lib 中删除 gradle 1.8 jars

rm android-studio/plugins/gradle/lib/gradle-*-1.8.jar 
于 2013-11-11T09:24:53.480 回答
1

当我查看我的文件系统时,我看到生成了 apk,但在不同的文件夹中并具有不同的名称。

然而,这不是它需要的地方。一段时间后,我发现“.iml”文件中有一个选项可以配置来修复它。

有多个“.iml”文件,一个用于主项目,一个用于包含生成 apk 的模块。如果您编辑模块的“.iml”文件并添加以下选项以及与您的项目相对应的路径

<option name="APK_PATH" value="/build/apk/desiredname-debug-unaligned.apk" />
于 2013-12-24T23:39:43.030 回答
1

删除 de out 目录和 .ide 文件夹对我有用

于 2013-09-07T10:31:17.877 回答
1

对我来说,从设备上卸载应用程序是可行的。:)

于 2014-06-15T13:09:19.567 回答
1

对于那些在遵循此处的所有答案后仍然无法解决此问题的人。查看 Gradle 控制台。我有构建错误,由于某种原因只显示在 Gradle 控制台上。修复它们后,我可以运行该应用程序。

于 2014-02-19T21:32:16.730 回答
0

最近我遇到了同样的问题,上面提到的解决方案都不适合我。

导致问题的原因: 我的 Android 项目运行良好,没有任何问题。在我将我的 Android Studio 更新到1.2 Beta后,当我尝试在设备上运行时显示“本地路径不存在”错误。

这对我有用:

  1. gradle-wrapper.properties distributionUrl= https://services.gradle.org/distributions/gradle-2.3-all.zip
  2. 构建.gradle

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

gradle build tool 最新稳定版是 1.1.3 http://jcenter.bintray.com/com/android/tools/build/gradle/

于 2015-04-03T17:07:47.753 回答
0

./gradlew -stop我通过在终端中输入停止 gradle 守护进程解决了这个问题

于 2015-01-14T23:24:46.283 回答
0

同步项目,一切都将在1.1.0 版本中完成

于 2015-04-17T07:04:35.007 回答
0

如果您的项目不是 Gradle 项目,

将 Android Studio 更新到 0.9.2+ 版本后出现“本地路径不存在”错误

您应该打开项目的 .iml 文件并将其删除:

<facet type="android-gradle" name="Android-Gradle">
  <configuration>
    <option name="GRADLE_PROJECT_PATH" />
  </configuration>
</facet>

它为我解决了这个问题。

于 2014-11-07T10:56:23.110 回答
0

重新启动 IDE。我重新启动了 Android Studio。错误消失了。

于 2015-04-01T16:54:38.810 回答
0

这就是我为Android Studio 1.0.1解决的方法:

在应用程序的主build.gradle文件中,确保 gradle 版本至少1.1.0是这样的:

classpath 'com.android.tools.build:gradle:1.1.0'

并且该repositories部分包含mavenCentral()而不是jCentral()

于 2015-05-15T07:14:38.477 回答
0

请检查 build.gradle 文件。如果有一些关于“applicationVariants.all”的操作或对 output.outputFile 的赋值,意味着试图更改输出文件的名称或位置。

您可以尝试先将它们注释掉,然后再试一次。

于 2015-06-10T21:29:50.207 回答
0

在我的情况下,问题只是项目路径中的一个文件夹包含非英语(阿拉伯语)字符

于 2015-12-15T21:16:47.777 回答