Why does ContentProvider.onCreate() get called before Application.onCreate()?
According a Google's issue it's how this should work (although documentation is wrong).
There's another question that have a workarround that can help you.
It is exactly how it should work.
Documentation of Application
class was updated starting from Android 4.2 and it says that Application#onCreate()
Called when the application is starting, before any activity, service, or receiver objects (excluding content providers) have been created.