Unfortunately there is currently a limit on the size of an individual resource. This is because the resource manager makes an in-your-application-heap copy of the resource, and your application heap size is limited by the OS.
If you wanted to pursue the all-data-in-the-apk strategy, you could try cutting your data up into medium-sized chunks, say 256K and only read a few of them into your heap at one time.
Perhaps the simplest approach would be to cut up your file into 256K chunks, store them all in the APK, and then at runtime read the chunks one-by-one and use them to create an ordinary file (which you could store in your apk-specific data directory, or on the sd card)
Another approach, which avoids putting two copies of the data on the device, would be to store the big data file on a web server, and download it at run time using the apk. I experimented with that for Quake, and it worked great, except that the web server gets hammered when I do a new release. Some games use bit torrent to avoid hammering their web servers.