可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
Sometimes this scenario occurs when developing. I would make a change in my source code, hit save all and then run but the change wouldn't be apparently not reflected in the app -(I'm using a device for testing). I can even uninstall the app on my device, and hit run again and the newly installed app still hasn't reflected the change in the source code. When this happens I have to edit the source, hit run and maybe then a new version with the changes I expected will be on the device.
I also tried the solution here, but it doesn't seem to work often.
Android Studio - Deploys my app without new changes
回答1:
I've got the same problem. This thread popped up first when I've searched for it. Solved it (hoping so) by not using the Instant Run feature. Might not be the best solution but it works for now.
Just go to "File -> Settings -> Build, Execution, Deployement -> Instant Run" and just disable it. With this Android Studio builds from scratch each time but it's better than not building it right.
Mini rant: Almost each version of Android Studio comes with an annoying bug. They're about to release the version 2 but its beta is still buggy. I hope they stabilize the IDE in the near future.
回答2:
Yesterday (2018-03-27) Android Studio published an official update from 3.0.1 to 3.1, and it looks like a lot of people (including me) start running into this issue again.
Credit to #5 comment here, below is how it solved:
In Android Studio, go to Run
> Edit Configuration
.
Under Before launch:
, if you cannot find Gradle-aware Make
, just like below:
Add Gradle-aware Make
and leaving Task
empty.
Warning: I don't know what these action means, and whether it will cause any side-effects. Appreciate if someone can give more explanation on it!
EDIT
Thanks to @ChristopherSmit referenced, this page mentions that Gradle-aware make
means "Compile the project and run Gradle".
At first I guess this may make Run
s take longer time even if no code has been changed; but after testing, the second time is still much faster if no code has been changed.
Given that fact that this is a default option if you create a new project using AS 3.1, I think this configuration is pretty safe.
回答3:
I had the same Problem, using Android Studio 2.0.0, solved it by rebuilding my Project.
Build > Rebuild Project
or by Clean and Rerun
Run > Clean and Rerun
回答4:
This was a real stumper until I realized that my changes must not be propagated to all relevant files ...
If you're having trouble with layouts, as I was, you may find that you need to update the layout in the res > layout-v17 folder. I had made changes via the Design View in the layout folder and those changes seemed to be propagated automatically to layout-v17, initially. However, later changes WEREN'T.
Check your res > layout-v17 folder and see if the .xml files in that folder reflect the changes you are seeing in your res > layout folder. You will probably find that they don't. Fix this and re-deploy. Like me, you should see the new code mods.
Hope this helps.
回答5:
For now I solved the issue by closing the app and run again. It worked like a charm. Not sure yet if it is a coincidence, but i guess it worths give it a try.
I really wonder if it works some other people too. Lets give it a try and let me know.
回答6:
For me instant run was a nightmare, 2-5 minute build times, and maddeningly often, recent changes were not included in builds. I highly recommend disabling instant run and adding this line to gradle.properties:
android.enableBuildCache=true
First build often takes some time for large projects (1-2mins), but after it's cached subsequent builds are usually lightnight fast (<10secs).
Got this tip from reddit user /u/QuestionsEverythang which has saved me SO much hassling around with instant run!
回答7:
Make sure you do not have an alternative layout. If you do, you might be changing one and deploying another.
回答8:
Same problem started occurring after I have upgraded the buildVersion from 23. Tried removing AVDs and recreating, Synching up with Gradle Files. Nothing helped. Complete reinstallation of Andriod Studio has fixed the problem. This may not be the solution but this only worked for me.
回答9:
Also me solved it by not using the Instant Run feature. Might not be the best solution but it works for now. I'm using Android Studio 2.0 beta 2...
回答10:
The thing that worked for me was to add some bad xml to one of my layout xml files, try to build and get an error, then revert the change and debug again. Not pretty, but pretty fast.
Another thing that seems to work most of the time: unplug and reconnect your development phone/device. This seems to force a reinstall, at least on my Linux machine.
回答11:
I Like Instant Run Feature and I don't like to disable it just because of this bug.
Not a solution but as a better workaround I'd prefer to:
- Press "Recent Apps"
- Simply close my app from the list
- Run the app again
This takes less time than Clean or Rebuild.
UPDATE
Rerun the app also works:
回答12:
I have the same issue, I unchecked instant Run and also i tried "clean and run option" but its not working. I tried to gradle sync it, but still i had the issue. Its gets resolved only if i rebuild it completely by deleting build folder.
回答13:
You can understand whether the code is deployed or not by putting a debug breakpoint to the new line that you added. If there is a cross on the breakpoint, this means it is not deployed. You need to clean and rebuild the project.