It's not static, because there's no point in making it static. Maybe the method signature isn't clear...what this actually is, is:
b=a.normalize();
with a remaining untouched and the returned b being a new instance of SimpleVector. The method that you are using in a special variant for Android that does the same thing but avoids the object creation by letting you feed it with a SimpleVector instance to fill with the result.
So this basically is:
b=a.normalize(b);
In your case, a==b...but that's just a special case. I agree that this looks strange, but...
There are several of these methods to compensate for the Android's weak garbage collection. They are meant to be fast, not to be nice.