Android NDK r5c now available
Android NDK r5c is now publicly available at the usual URL: http://developer.android.com/sdk/ndk/index.html
This release only contains bug-fixes, there are no new APIs or features.
See below for the corresponding change log. The most important things, being:
- no more crashes of code linked to gnustl_static on Eclair and older platforms.
- gdbserver no longer crashes on Honeycomb devices like the Motorola Xoom
Android NDK ChangeLog:
----------------------------------------------------------------
android-ndk-r5c
This release fixes a few bugs in r5b. There are no new features.
IMPORTANT BUG FIXES:
“Debug certificate expired” error in eclipse android plugins
I opened my eclipse today and get a error saying:
Error generating final archive:Debug certificate expired on ...
After searching on Google, this post(http://stackoverflow.com/questions/2194808/debug-certificate-expired-error-in-eclipse-android-plugins)helps a lot.
Upon installation, the Android SDK generates a "debug" signing certificate for you in a keystore called debug.keystore. The Eclipse plug-in uses this certificate to sign each application build that is generated.
Unfortunately a debug certificate is only valid for 365 days. To generate a new one you must delete the existing debug.keystore file.
For Linux user: Delete your debug certificate (debug.keystore and ddms.cfg) under ~/.android/debug.keystore
For Windows user: Delete your debug certificate (debug.keystore and ddms.cfg) under C:\Documents and Settings\Administrator\.android
found a powerful calculator handyCalc
There are many calculator apps in Android Market. Maybe RealCalc is most famous, but actually I don't think RealCalc is a good one because it doesn't support Regular Expressions.
Recently while I was browsing in the Android Market, I found a powerful calculator handyCalc.

Followings are the introductions of handyCalc from it's website http://handycalc.wordpress.com/
-------------------------------------
handyCalc is first be designed a symbolic calculate system to handle some complicated mathematica features. You can:
* Solve equation and equation set
* Define variables
* Define your own functions
* Plot graph
Building a particle system on Android
Particle systems are widely used in games. Explosions, snow and smoke for example are created by particle system in most of today's games. What I wanna do in this post is to show you how to build an extensible OpenGL ES 2.0 particle system for Android.
To make it extensible, maybe we need add a script support for the particle system. But considering it's not a easy job writing a perfect script parser and running a script may decrease the frame rates significantly( anyway android devices are not PCs), so my solution is writing a virtual base class that contains basic particle methods and then overload these methods with specific particle effects.
Explosion Particle in Happy Fruit 3D

My base class in this post is not virtual nor doing noting, it is rendering Explosions.
First let's see how to initialize the system:
void Particle::init()
{
char gVertexShader[] =
"uniform mat4 u_mvpMatrix; \n"
"uniform float u_time; \n"
"uniform vec3 u_centerPosition; \n"
"attribute float a_lifetime; \n"
"attribute vec3 a_startPosition; \n"
"attribute vec3 a_endPosition; \n"
"varying float v_lifetime; \n"
"void main() \n"
"{ \n"
" if ( u_time <= a_lifetime ) \n"
" { \n"
" gl_Position.xyz = a_startPosition + \n"
" (u_time * a_endPosition); \n"
" gl_Position=(u_mvpMatrix*gl_Position); \n"
" } \n"
" v_lifetime = 1.0 - ( u_time / a_lifetime ); \n"
" v_lifetime = clamp ( v_lifetime, 0.0, 1.0 ); \n"
" gl_PointSize =sin( v_lifetime*v_lifetime *3.1416 ) \n"
" * 80.0; \n"
"}";
char gFragmentShader[] =
"precision mediump float; \n"
"uniform vec4 u_color; \n"
"varying float v_lifetime; \n"
"uniform sampler2D s_texture; \n"
"void main() \n"
"{ \n"
" vec4 texColor; \n"
" texColor = texture2D( s_texture, gl_PointCoord ); \n"
" gl_FragColor = texColor; \n"
" gl_FragColor.a *= (v_lifetime);} \n";
if(gFragmentShader!=0 && gVertexShader!=0)
{
gProgram = createProgram(gVertexShader, gFragmentShader);
}
if (!gProgram)
{
LOGE("Could not create program for particle.");
return;
}
LOGI("particle program ok");
Happy Fruit 3D now available in Android Market
Happy Fruit 3D is a 3D game developed by AndroGeek.
Different kinds of fruits are falling down from the tree!Hurry up! You need to catch them with your basket!
Control your basket by tilting your phone(put your phone horizontally before start).
It's fun and challenging, enjoy yourself!
See at Android Market:http://market.android.com/details?id=com.billhsu.fruit3d
APP SCREENSHOTS:
QR code:
REQUIRES ANDROID:2.1 and up;
CATEGORY:Arcade & Action;
SIZE:5.1M;
Integrated development of Android NDK C/C++ software under Visual Studio
Introduction
vs-android (by Gavin) is intended to provide a collection of scripts and utilities to support integrated development of Android NDK C/C++ software under Microsoft Visual Studio.
Currently vs-android only works under Visual Studio 2010. Earlier versions lack the MSBuild integration with the C/C++ compilation systems.
The only required component is the Android NDK. Neither Cygwin, Java, nor the full Android SDK are needed to compile and link C/C++ code.
Features
- Compile and link Android C/C++ projects within Visual Studio.
- Integrated development, no makefiles. Works as another 'Platform' type.
- Android settings co-exist within the same VS projects as other platforms.
- Supports static library projects, and links them in if marked as project dependencies.
- Intellisense and 'External Dependencies' correctly pull in Android NDK headers.
- Cygwin install is not required.
- Around twice as fast as using ndk-build under Cygwin. For full rebuilds, and incremental changes.
- Ctrl-F7: compile single file functions, has no dependency checking wait.
- Supports invoking ant after linking, such that you end up with a packaged ready-to-deploy .apk file.
You can download it from here:
http://code.google.com/p/vs-android/
Really a good news for NDK developers !



