No, you do not necessarly need Java. You can use the android NDK, where you could use C and C++. Depending on what you want to write, there are also things like Titanium or PhoneGap, where you can use JavaScript. If you are writing a game, you can use something like Unity, which brings other languages into the game (like c#). And there are some "drag and drop yourself an app" approaches without the need of a programming langauge - depending on what you need this might be enough (it is pretty limited though).