Live data from Hacker News

Android++: Native development and debugging extension for Visual Studio

android-plus-plus.com

11–20 of 55 posts

Re: Android++: Native development and debugging extension for Visual Studio

#11
post #6
post #2

Interesting - but to quote from the Android developer website: Typical good candidates for the NDK are self-contained, CPU-intensive operations that don't allocate much memory, such as signal processing, physics simulation, and so on. When examining whether or not you should develop in native code, think about your requirements and see if the Android framework APIs provide the functionality that you need.

What is like working with the NDK? C++ is the one language that can work on both iOS and Android (and Windows phone?) Personally, I'd like to get some reuse out of my iOS code. I'd do more C++ if I knew that I could reuse it. Of course, Objective C could actually be portable too.

> C++ is the one language that can work on both iOS and Android (and Windows phone?)

C# can do that too, using Xamarin.

Re: Android++: Native development and debugging extension for Visual Studio

#12
With the rise of x86 Androids, is it really wise to start focusing on the NDK now?

http://newsroom.intel.com/community/intel_newsroom/blog/2013...

I assume the Samsung Galaxy 3 Tablet is a big "x86-Android" platform, which would obviously be incompatible with ARM-Android.

Re: Android++: Native development and debugging extension for Visual Studio

#14
post #6
post #2

Interesting - but to quote from the Android developer website: Typical good candidates for the NDK are self-contained, CPU-intensive operations that don't allocate much memory, such as signal processing, physics simulation, and so on. When examining whether or not you should develop in native code, think about your requirements and see if the Android framework APIs provide the functionality that you need.

What is like working with the NDK? C++ is the one language that can work on both iOS and Android (and Windows phone?) Personally, I'd like to get some reuse out of my iOS code. I'd do more C++ if I knew that I could reuse it. Of course, Objective C could actually be portable too.

Pretty horrible. The gdb debugger is a pain in the ass to setup, there is no really good ndk based IDE, most of the UI and important API classes either aren't available or are vastly more complex to use, You still have to use java- if for nothing else to load and start the c/c++ code running, and JNI is a absolute pig of a technology for interfaces with other code. As a mobile dev working on iOS, Android, and Win Phone who occasionally needs the native performance of c I really wish it was better.

Re: Android++: Native development and debugging extension for Visual Studio

#15

For C or C++ android development, what do people use on Mac? Xcode?

I used Xcode or the command line flow with (cgdb, the ndk command line tools, and sublime text as the editor). Xcode did ok for editing, syntax highlighting, and compiling but I could never get the debugging working in it. If I could have got the debugging and project setup working Xcode would have been really good, as it was it was a pretty bad experince.

Re: Android++: Native development and debugging extension for Visual Studio

#16
post #8
post #6

Earlier quoted context omitted.

What is like working with the NDK? C++ is the one language that can work on both iOS and Android (and Windows phone?) Personally, I'd like to get some reuse out of my iOS code. I'd do more C++ if I knew that I could reuse it. Of course, Objective C could actually be portable too.

Having worked with the NDK in Android Developer Tools (Google's Eclipse Fork), it's pretty painful. It takes a long time to get the environment set up and working (somewhat) nicely. You have to get a plugin to debug via ADT, I used the ARM DS-5 debugger. It works, but it's not a good user experience. I used to complain about certain niggles in Xcode, but having used ADT, I shall never complain again. Comparatively, u…

I used the Android NDK extensively for an app I wrote recently. The main reasons were for cross compatibility (future iOS port) and because a 3rd party library I needed was written in C.

If your new to the world of C/C++..then maybe its painful, but for me it was easy to get up and running. They use the GCC toolchain behind the scenes, with gdb as the debugger.

The NDK exists as a download for windows,OSX and Linux. I developed exclusively on OSX (10.8) (Using the android develop toolkit (aka ADT) which is basically a re-skinned Eclipse) and then enabled "ADB over IP" on my Nexus 4.

After a bit of setup (like adb connect 'local ip' ) the Android version of gdb (ndk-gdb) on the mac just "sees" your phone, finds the process and automatically connects.

If / when a crash would happen (and it happend a lot :) ) you get a stack trace, code line numbers, etc.

It might not be as simple as the GUI Xcode world, but it certainly works.

I've also got remote core dumps for my app, using Google's Breakpad. When the app crashes natively it uploads a core dump to my server, where I can examine what happened. Here as well you get full stack dumps, line #'s, etc.

Re: Android++: Native development and debugging extension for Visual Studio

#17

With the rise of x86 Androids, is it really wise to start focusing on the NDK now? http://newsroom.intel.com/community/intel_newsroom/blog/2013... I assume the Samsung Galaxy 3 Tablet is a big "x86-Android" platform, which would obviously be incompatible with ARM-Android.

You can ship multi-arch APK (with MIPS too).

Re: Android++: Native development and debugging extension for Visual Studio

#18

For C or C++ android development, what do people use on Mac? Xcode?

ADT is java and works on all platforms Eclipse works on. Additionally, the NDK (Native Developer Kit) is downloadable for Windows, Linux and Mac. I've personally used Android developer tools with native development on OSX, it works fine.

Re: Android++: Native development and debugging extension for Visual Studio

#19
post #16
post #8

Earlier quoted context omitted.

Having worked with the NDK in Android Developer Tools (Google's Eclipse Fork), it's pretty painful. It takes a long time to get the environment set up and working (somewhat) nicely. You have to get a plugin to debug via ADT, I used the ARM DS-5 debugger. It works, but it's not a good user experience. I used to complain about certain niggles in Xcode, but having used ADT, I shall never complain again. Comparatively, u…

I used the Android NDK extensively for an app I wrote recently. The main reasons were for cross compatibility (future iOS port) and because a 3rd party library I needed was written in C. If your new to the world of C/C++..then maybe its painful, but for me it was easy to get up and running. They use the GCC toolchain behind the scenes, with gdb as the debugger. The NDK exists as a download for windows,OSX and Linux.…

As far as a cross-toolchain goes, the NDK is quite nice. For the most part, it Just Works for compiling code. The multitude of STLs and complicated (behind the scenes) Makefile system can be annoying. However, the Makefile system is very simple for common needs. Debugging can be a pain, yes. Google is very diligent about releasing updates to fix bugs.

It also has Clang now!

Re: Android++: Native development and debugging extension for Visual Studio

#20

I am curious, what are the benefits of VS over other IDEs? Obviously, there is the case where the code shop may have other project assets tied into the VS ecology-dev system but is that the only case?

VS has amazingly good debugging tools. Other coding features seem to be prettymuch standard, like showing you arguments for a function you're calling and good autocomplete and refactoring and jumping around to declarations. It's got all the typical bells and whistles - all manner of GUI designers, Source-control integration, test-integration, code-review/commenting, etc, although they're very mature. I mean, it's obscenely featureful and the features are generally sensibly designed, so the sum is more than its parts there. The one place I really feel it actually shines is debugging.
Post reply on HN