This cannot be done, the way you wish - if something like this was possible it would open the device to security threats that can install malware using a credible app.
You will still have to download an 8mb app and the user needs to confirm he wants to install it, so it's the same as downloading it initially.
What you can do is remove all resources like images, sounds and text from the app, then on the first start you can download them from your server and cache them on the device. This way you lower the app size to only the necessary base code(controllers and models) and download all the presentation data later, to show it to the user.