UML is a language for expressing your thoughts and concepts, so there is no fixed rule what to describe, what to leave out, and how to arrange everything.
If you want to describe your implementation in detail, you will in some way need to include all these 30 classes (which is not so terribly much). But there are ways to make readable class diagrams even from large class models, using the following ideas. Most tools allow you, from one abstract class model, to derive several diagrams that will always be kept in sync with the class model, so they'll always be consistent. What I like to have is
one overview diagram, containing only the packages, the classes and relations between them without any details,
diagrams of parts of the model, e.g. of just one package, showing the details like attributes, data types, and operations.
The overview diagram is a good place to show your layers. In your layer picture, I'm a bit puzzled about the business and domain layer, as those two terms generally mean much the same. Also, I wonder why you let the user communicate via web services. Human users of Android apps normally communicate with the presentation layer, which is subdivided into Android actions and views. As users aren't represented in a class model at all, you don't have to answer the philosophical question whether they interact with your views and/or activities. In general, the activities will depend on the views, but not the other way round, so you have layers activity - view - domain - data access.
PHP is most probably not on Android, but on a server application, so you'll have a similar layer structure for your server app, with some connector class in the Android app dependent on the server web service. I suspect that, in your picture, you didn't separate Android and server software clearly, as the PHP web service cannot call classes of the Android app.
Another approach is leaving some technicall fuss away and drawing a logical class diagram just of the application domain. In a well-designed application, this will be much the same as the classes of the domain layer. This will give the reader an insight into the essence of your software, without confusing him by too much technical detail.