I am currently trying to build an Android application that works like a rwmote control with two joysticks. I am a bit confused about the setup I need. What are the following parts for and which one of them do I need:
•MavRouter
•MavProxy
•MavSDK-Server
•MavSDK-Java
The goal is to have an application that can reolace the remote control.
You are working with a PX4 flight controller right ?
You run MAVSDK-Java on Android.
MAVSDK-Server is the link between MAVSDK-Java and PX4. It can run on your Android device as well, on a companion computer or somewhere else. You just need to properly specify the IP address / port.
With MAVSDK-Java, you can use Offboard command such as actuator control to send the value you are reading on your joystick (link is C++ but you should find equivalent in Java).
No need of MavRouter / MavProxy with your described use case IMO.
A good follow up from the comment above, is to mention that if you are hoping to also use QGC, then you need the mavlink-router in between the PX4 Autopilot and MAVSDK+QGC