AndroGeek Android Programming & News

10Jun/110

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:

1,073 views | Tagged as: , , Continue reading
11May/111

“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

903 views | Tagged as: , 1 Comment
23Mar/110

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

938 views | Tagged as: , Continue reading
26Feb/110

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");
2,343 views | Tagged as: , , , Continue reading
8Feb/110

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;

944 views | Tagged as: , Continue reading
6Feb/110

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 !

4,595 views | Tagged as: , , , , No Comments