Wrong build being deployed on Android device using Visual Studio 2012 Xamarin.Android - visual-studio-2012

I am using Visual Studio 2012 and Xamarin.Android Beta release to develop an Android application. When I try to deploy the android application for debugging purposes onto an Android device, it deploys the previously built application on the device and not the recent changes I made and deployed (i.e No refresh of build). However, if I use Xamarin Studio to do the same, it deploys the correct build everytime (i.e refreshes the build with new code changes).
Any idea why this is happening?
Thanks in advance!

I had a similar issue: With Visual Studio 2019 the debug version of my driver was deployed while building the release version.
The cause of my problem was, that in the Properties -> Driver Install -> Package Files I had an absolute path pointing to the debug version of my driver in the column File. This setting is valid for all configurations (not separated for debug/release), and when entering macros, they are immediately expanded to absolute paths.
I fixed this by editing the .vcxproj file with my favourite editor and changed the path back to $(TargetPath).

I had the same problem. My solution was to add "deploy" to the build configuration:
BUILD => Configuration Manager... => (select "Debug" from left-hand combo-box) => (tick "Deploy" in grid)
Courtesy of this xamarin forum post.

I have no idea why it does this, I had this issue before. I also noticed that the device log was somewhat behind (ie, at 3.30pm, the last record on the device log was 11.00am).
Uninstalling the app from the device and re-deploying it seems to correct it.
Note: I had this issue in VS, didn't check with XS.
I would look at the difference in your deployment settings in VS and XS (I think it may have something to do with the Fast Deployment option).

Similar question (though for iOS Simulator) here.
I had a similar problem (though on an Android emulator).
What didn't work for me:
restarting the computer
restarting Visual Studio
deleting bin / obj folders
going into Configuration Manager (Debug / Release / Configuration Manager) and ticking everything there - everything was ticked
changing the version of the app in the manifest
What worked for me?
Uninstalling the app from the emulator and then running Debug again.
It was an Android emulator, so I uninstalled by clicking on the app icon and holidng for long, and then dragging it to "Uninstall App". On an iOS simulator it should be similar.

Related

Android Studio stays in offline mode

Android newby here. For some reason Gradle keeps running in offline mode which keeprs my app from running.
I've tried the following:
View -> Tools Window -> Gradle -> toggle offline mode off
Add "startParameter.offline=false" inside settings.gradle
Remove all traces of Android Studio and reinstalled the app
I'm running on Red Hat (latest version)
Best regards,
Lucas
So apperantly a failty dependency was to blame. I was using
implementation 'com.github.kittinunf.fuel:fuel-jackson:<latest-version>'
Which for some reason caused the offline error (it dit build when i pushed the "disable Gradle offline mode and sync project"). I completely removed the line because I'm not using the library any way.

ADB.exe is obsolete and has serious performance problems

I am using Windows 10 and when I launch the Virtual Device Emulator in Android Studio I keep getting the message which reads:
"The ADB binary at C:\Users\siviw\AppData\Local\Android\Sdk\platform-tools\adb.exe is obsolete and has serious performance problems with the Android Emulator. Please update to a newer version to get significantly faster app / file transfer".
I am a new developer with little experience. What do I need to update to a newer version so that message is no longer shown?
I am new to android as well. dkalev's answer is correct but not very descriptive for a new user. I have outlined the steps below.
Double Shift to open the search box
Type SDK Manager
In the results shown click "SDK Manager"
In the window that opens click the second tab "SDK Tools". You should see that there is an update available for SDK Build-Tools on the first line
Check "Show Package Details" in the lower right hand corner
Scroll to the last (latest version) item under "SDK Build-Tools" and check the box. (Mine was 28.0.1)
Click "Apply"
In the dialogue box that pops up, click "OK"
When the installer finishes, click "Finish"
Uncheck "Show Package Details" and look at "Android SDK Build-Tools" (first line). There should be no update available and it should say "Installed"
Click "OK" to close the SDK Manager
For me, update SDK doesn't help. I solve this problem by unchecking the emulator option "Use detected ADB location". Give it a try.
I had the same problem and solved it by updating the Android SDK Build-Tools. Open the SDK manager in Android studio (double shift and type SDK manager). Then on the second tab (SDK Tools) update the Android SDK Build-Tools and the error message should go away.
This is an years old bug.
Check your adb version like this : (the adb path is given with the error itself)
C:\Users\<your_user_name_>\AppData\Local\Android\Sdk\platform-tools\adb.exe --version
output :
Android Debug Bridge version 1.0.41
Version 29.0.4-5871666
Installed as C:\Users\sunil\AppData\Local\Android\Sdk\platform-tools\adb.exe
It means this adb comes from the latest sdk platform tools 29.0.4.
Check the latest version from official site here.
If you already have the latest version of ADB installed, and still getting the error, this is a known issue. Google hasn't yet provided any other ADB. Click on the "never show again" option and continue.
17-01-2019
This works for me.
Just opened Android SDK Manager Then it showed 4 Updates Available. So I just Updated it and No more above warning.
Had the same issue but in my case the fix was slightly different, as no updates were showing for the Android SDK Tools. I opened the Virtual Device Manager and realised my emulator was running API 27. Checked back in the SDK Manager and I didn't have API 27 SDK Tools installed at all. Installing v 27 resolved the issue for me.
In my case what removed this message was (After updating everything) deleting the emulator and creating a new one.
Manually updating the adb didn't solved this for. Nor updating via the Android studio Gui.
In my case it seems that since the emulator was created with "old" components it keep showing the message. I had three emulators, just deleted them all and created a new one. For my surprise when it started the message was no more.
Cannot tell if performance is better or not. The message just didn't came up. Also I have everything updated to the latest (emulators and sdk).
This happened to me. And, in my case I need Android SDK Platform 29 because I am using react native 0.63 and Android 10 (Q). I had to uninstall Android SDK Platform 28 because it was the one that caused the warning.
I found this video See Here explaining the process.
Open Android Studio then click on configure
Go to SDK Manager
Go to SDK Tools and click show package details
Uncheck Android SDK Platform 28 (OBS: for me) and Apply
Click OK and Finish.
With this I was able eliminate the warning.
I had the same problem and solved it by updating the Android SDK Build-Tools in Android Studio.
step 1 - Double shift and type SDK manager, this will open the SDK manager
step 2 - Then on the second tab (SDK Tools), update the Android SDK Build-Tools and the error message should go away.
if this does not resolve check the option in Setting tab,use detected Adb tool in Setting tab
(You mentioned you are new to Android Studio) so I recommend pressing the Android Studio > Help > Check for updates... button that will update your environment.
I solved this error by uninstalling two older SDK build tools versions, leaving only the most recent one.
The solution that worked for me -
I closed my Android Studio.
I visited this site - https://androidstudio.io/downloads/tools/download-the-latest-version-of-adb.exe.html
From there I downloaded the latest adb.zip file
I unzipped the folder and copied the 3 files -
adb.exe
AdbWinApi.dll
AdbWinUsbApi.dll
I went to the folder - C:\Users\PayelSenapati\AppData\Local\Android\Sdk\platform-tools
There I replaced the old files by the new files. (Paste followed by replace the existing files)
Then I reopened my Android Studio, opened my virtual android device. Everything went fine. The error was no more.
In the SDK Manager, in the SDK Tools tab, check if you have any updates, if not, deselect "Hide Obsolete Packages" and check if you have something marked as (obsolete) if so, deselect the item and apply. In my case, it was the Android SDK Tools.
First you need to check which SDK your Emulator is using and as #kuya suggested you need to follow those steps and install the latest version of that SDK Build Tool. Suppose your Emulator uses SDK 27 then you need to install latest in that series. For me it was 27.0.3. After that the error was gone.
Try factory reset to virtual device from Android Device Manager
None of the top-voted answers worked for me, except when I unchecked "Use detected ADB location" as mentioned above by #褚阳光. Fortunately, in my case though, the message didn't show up, even when I turned it back on. In other words, the problem might be resolved by restarting "Use detected ADB location" :)
Try update your SDK Tools items, and then delete all currently created emulator and recreate again. it works for me
This might sound normal but I was getting the same error but just updated it and it worked now without any error. I suggests anyone to try for updates first.
If you are stuck after following each of the steps outlined in above, I will suggest you combine more than one answers. The answers of #Kuya and #褚阳光 worked for me. Try them out. I can explain more if the steps are yielding results for you.
This can also be an issue with hyper-v settings on Windows 10 pro. Because with this error I was facing BSOD - https://www.techclassy.com/fix-hypervisor-error-bsod/
I faced the same issue, and I tried following things, which didn't work:
Deleting the existing AVD and creating a new one.
Uninstall latest-existing and older versions (if you have) of SDK-Tools and SDK-Build-Tools and installing new ones.
What worked for me was uninstalling and re-installing latest PLATFORM-TOOLS, where adb actually resides.
I got this error and I tried all the possible solutions that I found on every site, nothing worked.
I was working with flutter, and the command flutter doctor showed me that I need to accept a few agreements
I did that and ADB started to work
So conclusion:
If nothing works, install flutter, run flutter doctor, execute the commands that flutter doctor suggests to you. This should solve your problem
the command was: flutter doctor --android-licenses
I followed the answer, but the magic final step was deleting the existing virtual environment and creating a new one.

Android Studio is installing old apk on device

I am developing an Android app using Android Studio (0.89 Build #AI-135.1404660, Built on Sept 3,2014) using both emulator and Nexus 4 device.
I had the same issue with a version prior to that.
The problem is that after I changed my code and resource files, I still get the old apk installed on the device or emulator.
What do I need to do to get it to run current code? Is it a building config?
Is it a known issue with Android Studio?
Or with a Nexus 4 device?
This is the second time it has happened, and I resolved it(then) after trying one of the steps below. They have not worked for me again.
Here is what I've tried
Build > Clean Project > Restart Android Studio > Run
Build > Rebuild Project > Run
Step 1 plus Uninstalling of apk on device
Step 2 plus Unistalling of apk on device
Adding erroneous resource entry then running.
I have read the following:
Android apk install: How to clear files from old version?
adb - How to reinstall an app, without retaining the data?
Device still has the old apk
Android build doesn't update code base or resources for target .apk on device
None has worked so far.
I had the same problem. After trying numerous methods that didn't work, I realized that I had accidentally changed an option in my "Run Configuration". Here's exactly what I did to fix the issue.
Run --> Edit Configurations
With your configuration selected on the left panel (mine says "app"), in the General tab on the right panel, there is a section called "Before launch". This section should have an option added called "Gradle-aware Make", but I had accidentally removed it.
I re-added it by pressing the "+", then clicking OK in the popup (leave the input box in the popup blank).
Click apply.
This fixed the problem immediately. Hope this helps someone!
Run / Debug Configurations / Miscellaneous TAB
[] Uncheck: Skip installation if APK has not changed
Android Studio doesn't always detect small changes in code.
The behaviour is erratic. I solved it by reviewing my code.It turned out that there was a resource file that was invalid. Try reverting back to the last working version of your code before the current changes... Probably a known issue that will be/was resolved out of Beta
Google thinks it is a feature, not a bug
https://code.google.com/p/android/issues/detail?id=156263
Their proposed solution is to copy the apk(s) instead of manipulating the filename, as in e.g.
Copying APK file in Android Gradle project
I've spent way too many hours to keep this to myself. The way I fixed it was that I noticed some hours later that I was using different layout version in res/ .... I have actually two versions of layout (layout-v26) and (layout). All this time I was modifying the other one and uploading different one. Maybe its just a newbie mistake but I hope somebody will find it useful.
The reason why there are 2 version was because of " autofillHints="" -> quickfix -> create new version of layout "
image of my tree
I am using android studio for building flutter app, I was facing the same issue untill I did the following:
From Android Studio, go to Tools-Flutter-FlutterClean
It resolved my problem as of now.
Check Your Layout Files.
I ran into the same problem and I realized, it gives some problem if you have same layout in multiple orientations(portrait and landscape). If one is changed other remains unchanged and then it creates a conflict. So android studio installs the one with the previous layout
PS: This was happening in my case.
The problem occurred on my Android 11 devices. I guess ART ran old code dex2oated.
Solution:
Run / Debug Configurations - General - Always install with package manager (disable deploy optimization on Android 11 and later), and check the option.
I was also facing this issue and get solution by deleting build folder manually because some time ide cannot be able to delete this. So go to the app folder and find build folder delete this and after clean and build project and run again.
projectname->app->build
You should select "Deploy default APK" option in Run/Debug Configurations. After that Android Studio will upload and install new apk to your emulator/device when you run application.
In android studio. at right side. see gradle option. click it. and then press circular arrows button shown in red square.
Same problem, none of the solutions mentioned here had any effect. I had to disable the "Allow parallel run" in "Menu > Run > Edit configurations...".
You can read more about this option here: How to run the same project multiple times in IntelliJ IDEA?
The solution to this issue is actually very simple.
Android studio is actually not detecting some small changes that you have made to the application. That is why it is installing the previous builds.
The solution is easy -> Remove the previous builds.
In the right side, go to gradle tab.
Expand Tasks. Find "clean" or "cleanCache" task or any task that starts with "clean". Double click to run that task.
Expand "app". and do the same.
Then File> Invalidate cache and restart.
Enjoy!! Your problem is solved...
My devices also ran old states - dont know from where in my git it has taken these.
I created a new configuration (default is "app") and it worked.

Does Android studio need internet connection to build project

I am using Android studio version 0.4.2 and gradle version 1.9. I have successfully installed Studio and have created multiple projects. Today when I launched Studio without internet connection,
I got this error message:
"Gradle project sync failed. Basic functionality (e.g. editing,
debugging) will not work properly" and the Event Log window shows
"Failed to refresh Gradle project < Project Name >. Connection timed
out: connect. If you are behind an HTTP proxy, please configure the
proxy settings either in IDE or Gradle."
I need to know if internet connection is mandatory for building projects using gradle.
I think gradle checks for latest version on internet and throws Connection time out error. If so, is there any workaround to disable that.
Currently Android Studio's Gradle implementation requires a fast stable network connection. For whatever reason, the developers have decided to force this requirement on users at this time. There is a setting that you should be able to use to utilize a local gradle installation, but it doesn't hold. The developers know about both the network requirement and the broken switch, but are currently prioritizing other functionality. They may remove that requirement in the 1.0 or post 1.0 time frame.
[see: https://plus.google.com/u/0/115692564989237473252/posts/LGSbniYqj3Q ]
Gradle's offline mode, isn't. It should be properly named cached mode. All that switch does is tell gradle to not try to go online and instead utilize cached copies of the various networked resources. Unfortunately that assumes that you have had (and will have again) a network connection, preferably a fast stable one. Using Android Studio (last version tested 0.5.9) with a slow/unstable network results in watching Android Studio process Gradle ( and Maven ) processes usually for 2-5 minutes, sometimes for 10 minutes or more. Also at seemingly random times when coding the IDE will lock up and the cause usually involves one or more Gradle processes that have spun up.
As a comparison, using IntelliJ IDEA 13.1 Community edition (the IDE that Android Studio is based on) I compared a default "Hello Android" IDE generated program using the Android Gradle wizard (substantially similar to the only one in Android Studio) and the Ant based Android wizard. The results were as expected. The gradle based project experienced the same painful lock up and lag that projects in Android Studio exhibited. The ant based Android project was near instantaneous. No appreciable delay once the project was created and opened. Coding caused no random lockups. Testing was done on a Windows 8.1 update1 Pro machine with a dual Athlon x2 processor, 6GB RAM, and a 6Mb/0.75Mb DSL connection. I believe that last part is most likely the issue.
Unfortunately until Android Studio removes the network requirement I feel it will be unusable to a large number of developers. That's a shame because otherwise it looks to be a marked improvement over the existing Eclipse based development environment.
For me, I had to check and then uncheck the box in
Preferences->Gradle->Offline work.
Then I got back online.
You can download the gradle distribution locally and build the project again.
To do this, edit your gradle-wrapper.properties under gradle-> wrapper in your Android project.
Edit the
distributionUrl=https://services.gradle.org/distributions/gradle-2.2.1-all.zip
to
distributionUrl=file:///home/foo/downloads/gradle-2.2.1-all.zip
So just download the file from here as mentioned in your gradle-wrapper.properties.
There's an offline mode preference in Preferences > Compiler > Gradle. If you already have your dependencies downloaded, this will generally work for you.
In Android studio version 1.5.1 I could solve this error by following steps :
1) Go to file -> Settings -> HTTP Proxy -> & select Auto detect proxy settings.
2) After that you may get Dialog to accept or reject certificate
3) Select Accept.
That's it.

there was an error attaching the debugger to the role instance

I am getting an Exception when I am trying debug my application on Emulator (Web Role).
you can see exception by clicking following link
Configuration which I am using Windows 7 pro, VS 2012 Pro, Azure SDK 1.8
Hope it might help others.
I Also had the similar problem and I restarted PC and **Run Visual Studio as Administrator**.
And let Visual Studio start the emulator with same privilege resolved the issue.
I was using Visual 2013 and Web API application under IIS Express.
Do you have IIS added? Most likely it's already installed but you've to enable it via Add Windows Compoenents on Control Panel...
I had this same issue all of a sudden, luckly I remember changing the ServiceDefinition.csdef file. I rolled this back to an earlier version and the debugger ran again correctly. The only thing I changed in the 'broken' version was instance size from small to medium.
Go to visual studio installer(search it from window's start)
and update the visual studio.
After updating, hit modify
button, after that on right side you will find a box named
debug (or something like that), select that box
Then hit install.
Restart your visual studio and debugger will start working.
In my case it worked perfectly.

Resources