What you are looking for is dynamic shadows.
To achieve dynamic shadows like that for arbitrary shapes (e.g. a tree), you would need 3D representations of your sprites modeled in Blender or Maya. Then you would render a depth pass from the light’s perspective and use the technique here to cast shadows. The amount of work for such a simple feature would be astounding.
If you plan all of your sprites to be very primitive (e.g. boxes), then you can do something like what box2dlights does. This still requires pretty heavy math and probably won’t be easy.
Another idea: don’t blend shadows together. You could do this by rendering all your shadows to an offscreen buffer at 100% opacity, and then blending the shadows atop your scene at 50%. There might also be another way of achieving this without FBOs (for better Android performance).