Jump to content

  • Log In with Google      Sign In   
  • Create Account

Android C++ Development

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
2 replies to this topic

#1   Members   -  Reputation: 122


Posted 19 August 2011 - 09:33 PM

I have some C++ experince and I would like to use it to develop for android using the NDK.
Is it possible to develop using only or mostly C++ without the need to learn Java?
If it does , is there more info I can get on this subject?

Thank you.

#2   Members   -  Reputation: 2143


Posted 20 August 2011 - 12:45 AM

Nowadays you can do almost everything just from the C++ side using the Android NDK. The amount of stuff you can do depends somewhat on which version of the platform you are targeting. There is a native-activity sample in the NDK demos, which is an example on how to develop an application completely without the use of a Java activity wrapper. (See the folder android-ndk\samples\native-activity in where you installed the NDK) Read the files in the docs folder of the NDK to see what can be done. Also, unfortunately they haven't yet documented all of the stable APIs in the NDK, so you'll have to dig through the header files directly to find out which library functions exist (see android-ndk\platforms\android-9\arch-arm\usr\include). Fortunately the .h files are somewhat documented themselves.

In the worst case, if there is no API to do something directly from the C++ side, you can fall-back and write the missing functionality using Java, and then interop with those functions from the C++ side, so you are not blocked completely from accessing any API in the system.

For C++ side development, they have stlport to provide stl support, and I think rtti also came in recently. See android-ndk\docs\CPLUSPLUS-SUPPORT.html for more information on the C++ features support.

The NDK uses its own build script system on top of the gcc toolchain. A good step to start is to try to get the NDK samples to build and run on your device. native-activity and native-plasma are ones which do not contain any java code. Go through the different build script files and try to figure out what commands you need to run to build and start the applications on your device (documented at the Android NDK page).

I am using vs-android for development, which does have some oddities, but all-in-all works very nice, and makes the workflow a lot easier.
Me+PC=clb.demon.fi | C++ Math and Geometry library: MathGeoLib, test it live! | C++ Game Networking: kNet | 2D Bin Packing: RectangleBinPack | Use gcc/clang/emcc from VS: vs-tool | Resume+Portfolio | gfxapi, test it live!

#3   Members   -  Reputation: 207


Posted 20 August 2011 - 07:29 AM

clb said everything. but just to make you relax a bit.. java is really really quite simple if ure experienced with c++... it took me 3 hours and a couple of tutorials to write my first app with the sdk. the sdk is actually pretty good if you develop non game apps.. i wouldnt use c++ for it ..

when it comes to games, we talk about s.th. different.. than u will probably need the ndk .. . especially when u are in the need for speed. honeycomb supports native application which allows you to write android apps completely without one line of java.. tutorials about that + ogles are on the android dev page.
below honeycomb u need a bit of java to call ur c functions..

I open sourced my C++/iOS OpenGL 2D RPG engine :-)

See my blog: (Tutorials and GameDev)


Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.