141
votes

After updating Android Studio to 0.2.4 I can't get my project to deploy. There is a complete mismatch of the apk filename.

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.

After reading some posts here, I changed the output path to the build/apk folder, but the issue remains. Instead of the created projectname-debug-unaligned.apk he is looking for the projectname.apk and I have no idea how and where I can tell him to change the name he is looking for. Any ideas?

PS: Yes I have read several posts which are shown in the list on the right side. The restart of the IDE worked for my coworker, but not for me.

Edit:

I stumbled from one issue to the next so I reverted back to the only downloadable version I could find: 0.2.0.

No disappearing UI elements, I can create new projects and, best of all, I can finally deploy the APK from the studio to my device again. I will try 0.2.5 as soon as it is released.

28
I tried with 0.2.5 and it is not fixed... Have you found another solution ?Rémi F
it fixed it for me. I switched a lot between different projects and also created a new one and it started to work... Not sure how all this seems to be connected...WarrenFaith
A simple solution for me was to add <option name="APK_PATH" value="/build/apk/appname-debug-unaligned.apk" /> in my module iml file (in fact configuration). I also solved the issue using Victor's answer (clean all and re-import the project)Rémi F
0.2.10 still has this issueValerio Santinelli

28 Answers

273
votes

I originally saw this error after upgrading from 0.2.13 to 0.3. These instructions have been updated for the release of Android Studio 0.5.2. These are the steps I completed to resolve the issue.

1.In build.gradle make sure gradle is set to 0.9.0

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

2.In gradle-wrapper.properties make sure to use 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.Sync project with gradle files by pressing the button to the left of the avd button

enter image description here

4.Try to build project again. If still having issues possibly try File > Invalidate Caches/Restart

NOTE: If you are using 0.9.+ and it gives Could not GET 'http://repo1.maven.org/maven2/com/android/tools/build/gradle/'. Received status code 401 from server: Unauthorized (happens sporadically) then change to 0.9.0. Also, you have to use build tools 19.0 or greater I believe so make sure you have those downloaded in sdk manager and use as buildToolsVersion in whichever gradle file holds that info.

37
votes

Try this:

  1. Close IDE
  2. Remove .idea folder and all .iml files in the project.
  3. Restart the IDE and re-import the project.

Original post: https://code.google.com/p/android/issues/detail?id=59018

26
votes

I managed to find a temporary workaround. Do all by yourself using command line :

// 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

This is temporary, but I hope they will fix this for 0.2.5

Edit : not fixed in 0.2.5

Edit2 : fixed for now by adding in my module.iml file (in facet/configuration) :

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

Restart Android Studio (0.3.0) worked for me.

14
votes

I fixed this by adding "Gradle-aware make" before launch in my launch configuration.

enter image description here

9
votes

From 0.2.13 to 0.3.0 Just download new gradle 1.8 from http://www.gradle.org/downloads Reimport project and choose new gradle to use.

in build.gradle

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

not sure it really need, but i use invalidate caches and restart before reimport project invalidate caches and restart

6
votes

Heh tried all these answers and none of them worked. I think a common cause of this issue is something a lot simpler.

I advise all who get this problem to look at their launch configuration:

Launch Configuration

Look! The launch configuration contains options for which APK to deploy. If you choose default, Android Studio will be dumb to any product flavors, build types etc. you have in your gradle file. In my case, I have multiple build types and product flavors, and received "no local path" when trying to launch a non-default product flavor.

Android Studio was not wrong! It couldn't find the default APK, because I was not building for it. I solve my issue by instead choosing "Do not deploy anything" and then executing the gradle install task I needed for my specific combination of product flavor / build type.

5
votes

like wrote here:

I just ran into this problem, even without transferring from Eclipse, and was frustrated because I kept showing no compile or packageDebug errors. Somehow it all fixes itself if you clean and THEN run packageDebug. Don't worry about the deprecated method statement - it seems to be a generic notice to developers.

Open up a commandline, and in your project's root directory, run:

./gradlew clean packageDebug

Obviously, if either of these steps shows errors, you should fix those...But when they both succeed you should now be able to find the apk when you navigate the local path -- and even better, your program should install/run on the device/emulator!

3
votes

I just managed to fix this. I followed Adams instructions but it still would not work so I kept digging and did this on top of Adams instructions:

I went to Module Settings and in the Paths tab under Compiler output I selected Inherit project compile output path. I am running 0.3.0

2
votes

Just Close The Android Studio and Restart it and Sysnc. Gradle Files Again......And Run The Project Again

2
votes

I had to re-import my project. I also made sure to update the gradle dependency in my build.gradle file. In the case of Android Studio 0.3 this was 0.6.+. That seemed to do the trick.

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

Have you tried Build -> Rebuild project?

2
votes

In case you hit this issue after an upgrade to studio 0.3.4do a rm android-studio/plugins/gradle/lib/gradle-*-1.8.jar. There is a 1.9-rc-2 release of gradle available there. Make sure your gradle path is set to automatic. If set manually change to automatic or manually point it to the latest gradle release.

Also make sure you run ./gradlew clean packageDebug in your project root.

Ref

1
votes

delete de out directory and .ide folder work for me

1
votes

I got this after upgrading to 0.2.7 from 0.2.5. Deleted all *.iml, .idea folders and restart IDE then re-import settings.gradle worked for me

1
votes
1
votes

If you have run into this problem while updating to android studio version 0.3.3 or 0.3.4 then you need to remove gradle 1.8 jars from android-studio/plugins/gradle/lib

rm android-studio/plugins/gradle/lib/gradle-*-1.8.jar 
1
votes

When I look at my file system I see that the apk is generated but in a different folder and with a different name.

However, this is not where it needs to be. After some time I gound that there is an option in the “.iml” file that you can configure to fix it.

There are multiple “.iml” files, one for the master project, one for the module that contains that produces the apk. If you edit the “.iml” file for the module and add the following option with path respective to your project

<option name="APK_PATH" value="/build/apk/desiredname-debug-unaligned.apk" />
1
votes

For those who still can't solve this issue after following all the answers on here. Look in the Gradle console. I had build errors that for some reason were only showing on the Gradle console. Once I fixed them, I could run the app.

1
votes

For me uninstalling the app from the device works. :)

0
votes

If your project is not a Gradle project,

And you got this "local path doesn't exist" error after updating Android Studio to 0.9.2+ version

You should open the .iml file of the project and remove this:

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

It solved the problem for me.

0
votes

I solved this problem by stopping the gradle deamon by typing ./gradlew -stop into the terminal

0
votes

Restart the IDE. I restarted Android Studio. The error went away.

0
votes

Recently I had the same issue and none of the above mentioned solutions worked for me.

What caused the issue: My Android project was running fine without any issue. After I updated my Android Studio to 1.2 Beta the "Local path doesn't exist" error was showing when I tried to run on device.

This is what worked for me:

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

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

The latest stable version of gradle build tool is 1.1.3 http://jcenter.bintray.com/com/android/tools/build/gradle/

0
votes

Synchronize the project and all will done in version 1.1.0

0
votes

This is how I solved it For Android Studio 1.0.1:

In application's main build.gradle file make sure gradle version is atleast 1.1.0 like this:

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

and the repositories section contains mavenCentral() instead of jCentral()

0
votes

Please check the build.gradle file. if there is some operation about "applicationVariants.all" or the assignment to output.outputFile, means trying to change to name or location of the output file.

You can try to comment them out first then try again.

0
votes

In my case the problem was only that a folder in the project path contains non-English (Arabic) characters