Most of the developing process even for the possible CI/CD workflows will require an offline validation of different components and the major bottleneck right now is the dependency on the real aircraft connection. I was recently developing custom GCS software and using software-in-the-loop (SITL) for testing, mostly with the Ardupilot firmware. Never had a real experience with PX4 but I'm aware that also has SITL capabilities, but as far as I know there is only for the flight controller and desktop based hardware, I did a little search and there was not much information regards to use SITL under android platform, but possibly embed the entire controller flight stack for either AP or PX4, can be an unnecessary code or processing overload. Although, more MAVLink compatible constraints the development will follow.
This can also be useful to move towards a generic API layer, using a custom made simulation for the application functionality as another SDK with its corresponding managers. I'm not sure how difficult this can be, but I think it worth to think about it.
Most of the developing process even for the possible CI/CD workflows will require an offline validation of different components and the major bottleneck right now is the dependency on the real aircraft connection. I was recently developing custom GCS software and using software-in-the-loop (SITL) for testing, mostly with the Ardupilot firmware. Never had a real experience with PX4 but I'm aware that also has SITL capabilities, but as far as I know there is only for the flight controller and desktop based hardware, I did a little search and there was not much information regards to use SITL under android platform, but possibly embed the entire controller flight stack for either AP or PX4, can be an unnecessary code or processing overload. Although, more MAVLink compatible constraints the development will follow.
This can also be useful to move towards a generic API layer, using a custom made simulation for the application functionality as another SDK with its corresponding managers. I'm not sure how difficult this can be, but I think it worth to think about it.