VSDroid (formerly WinGDB for Mobile Systems) is an ongoing project which goal is to provide alternative IDE for Android mobile operating system, based on Microsoft Visual Studio.
VSDroid is a set of plugins for Visual Studio providing functionality for main development phases: project management, build, deploy and debugging. Both Java and native code develoment is supported in each phase. Please see the Features section below for more information.
VSDroid is offered free of charge, on "as-is" basis (no support). Precisely, the package currently has beta status. There are no time or functionality limits.
Update (2014.03.28): we are proud to announce that the first alpha build of our core technology product, IntegraStudio, has been released for evaluation and testing. You can find it at http://www.softerg.com/integra.
IntegraStudio is a Java development extension for Visual Studio. It is also an important element of the bigger plan, involving (among other things), continuation of VSDroid development. As soon as the final release of IntegraStudio is made (planned as 2014 Q3), VSDroid will receive a huge update including fully-functional Java language support on par with Microsoft-supported languages in Visual Studio. VSDroid will directly benefit from technology developed for IntegraStudio. At the same time, we hope that IntegraStudio sales will allow us to back VSDroid development financially.
This way, all assumptions presented below will be met, and the first stage complete. In spite of some delay, progress is continously being made towards this goal. We wish to thank you, all VSDroid users, for your patience!
VSDroid has been started as additional platform for WinGDB, our Linux/Unix development solution for Visual Studio. It was called WinGDB for Mobile Systems at the time. The decision to begin the work on Android targets were motivated by potential users' requests, as well as contact from certain Google's employees and representatives of some other company, which name can't be revealed due to NDA. All of this encouraged us to take on this ambitious task. The main goal was to provide better native debugging user interface for Android, based on Visual Studio.
Unfortunately, the further course of action led us to major disappointment. Google seemed to lose the interest completely. The "other" company suddenly stopped responding and very quickly released something that were essentially a clone of the product. It seems that they wanted only to "phish" us for some know-how right from the start. Finally, it turned out that the whole thing was not worthwhile. There were much more technical problems than actual people interested in buying the product. Possibly the clone made by the company mentioned above had some influence on this, as it were free. Unstability of Google's NDK at the time greatly enlarged estimated cost of development. There were lots of bugs and regressions in their GDB port, as well as issues on certain hardware.
In order to address these problems, we chose to redefine the whole product with a different set of assumptions. The goal is to make it beneficial to broader range of users, while reducing its dependency on unstable third party components. So the idea of VSDroid has born.
These new assumptions are:
The new product shall focus on Java development, not native. Native on Android is only optional and relatively few developers practice it. Those which do, tend to have complex development scenarios with lost of customization (e.g. when porting games from other architectures). They have numerous issues arising just out of complexity of these setups combined with unstability of the toolchains (esp. GDB not working properly with certain binaries or hardware). As a result, the support cost is too high to be covered from mere $100 per license - unless a typical company would buy 50 licenses or more, which was not the case. This business would bring only losses, being inevitably doomed to failure in the end.
On the other hand, Java is the standard development method for Android, it simply works on any hardware/emulator, has much fewer issues than native and is generally manageable. It also corresponds with overall direction taken by our company, which assumes gradual extension of our offer to Java development tools. We invested a lot in technologies and knowledge related to Java and in the end of 2013 we should be able to release our first product based on that. VSDroid seems to be able to benefit from this effort, even sharing some code.
All of it does not mean that the former native dev features are being removed. They will stay there, just as they are. If you used WinGDB/MSE for native development, you can continue with VSDroid.
VSDroid development will have several phases. In the first phase, it shall impose minimal cost on us, being low priority product only benefitting from technology made for other purposes. However, as said above, it will still improve the product much. We already removed all time limits from the beta installer package. The package will be updated from time to time, when each of the new components is ready.
In the second phase, after releasing our main new product, we plan to initiate crowdfunding campaign to test whether VSDroid is able to attract some supporters and pay for itself. This would enable implementation of Android-specific features and maybe even improve the native part.
In order to run VSDroid for Visual Studio, you need any edition of Visual Studio except Express edition (which is not supported due to limitations imposed by Microsoft).
The former WinGDB/MSE for Visual Studio Shell is temporarily unavailable due to lack of time to work on it. If you need this particular edition, please contact us. In case of significant demand, we can allocate some resources to bringing it back.
You can download the installation package using the following link:VSDroid-0.9-b1790.msi (2013.10.12)
Due to major reworking of the installer architecture in order to make VSDroid installable with regular WinGDB as an idependent product, some bugs/glitches might remain. The build is intended to function just as the previous release. If anything stopped working (and you use same version of SDK/NDK and other components), please let us know.