In order to develop an Uber-like app for Android, initially, you must try to understand the technological aspects that are implemented in these kinds of apps.
The first thing to have a clear understanding is how to track the movement of your user/driver. It is important that you accurately track the location to give updates regarding the drivers reaching the users or vice versa. It also helps in the matchmaking process to assign drivers to users. The underlying technology being used here is the Core location framework. For example, the iPhone or other iOS devices make use of the iBeacon technology for tracking the location of the driver/user. However, in the case of Android, Google location application interface can help you identify the geo-location and the tracking based on the driver movements.
The routes and the basic navigation routes are generated using the Google Android API V2. Other basic things you need to implement in these kinds of apps in the payment option, messaging option and other core functionalities for smooth ride booking and dispatching.
Developing the app from scratch takes a lot of effort and planning, however, you can try the ready-made Uber clone script provided by the app development companies. These ready-made solutions are built with a pre-existing business/revenue model and a full stack of features.