Transparently access a large library of images in the app

I have an app which is easily small enough for Android app store limit of 150MB. It is <10MB unless I include the 3400 images that go with the app :(. The app is a big guide of 1200 things each with one or more not very high-res images. It is intended to be runnable when offline. With all the images my app is about 300MB, so well within the other Android limits of 1GB.

I have looked around and read about the new App Bundles and the older APK expansion files (also known as OBB files), but there is the newer Play Asset Delivery that post dates the intro of AAB file.

  1. How do I create and upload a pile of file of images (expansion file or Play Asset or ?)? Is that some change specific to Android, so in the files in Android?

  2. Is there an Ionic cross-platform solution that I could use to access the downloaded files, if on an Android phone (Is it /assets/obb?). Alternatively, I’d just go to ./assets/images/*.jpg if on an iPhone? If not cross-platform, do I develop different classes (Java or tyescript?) for each platform? Where do I put those? I really only have a vague idea about how the sync and build for a particular platform is supposed to work.

But we’ll start with these questions to get an idea of how such an extra pile of files is put in place and how I’d wire up the simple download at app download time on Android, but access them on either platform.

My view, but maybe not fully covering your requirements, but in web app development/angular everything you want to bundle with the the package should ideally go in /assets folder, which then becomes available cross platform in whatever form you use to deploy (capacitor, cordova, pwa, electron, etc)

If you want to tweak this per platform type (ios/android), I think you may want to use capacitor and then tweak the native part - where you need to pay attention how to bridge the assets in native part to the web part.

Yes, I’d like to pay attention to each native part. Okay, so everything in the /assets folder; that’s great, but it seems you have only rephrased my question, but provided no new information.

I am new to ionic, capacitor and honestly nearly everything else, but have no idea how to form/bundle/sign any extra stuff for Android nor where/how I’d add any Android only step.

Do you or anyone else have any links you can direct me to that addresses any of this?

Add an npm script to package.json that does the android only build which copies the android only stuff to adsets (e.g. npm run build:android). Then also do the same for ios and others assuring the assets folder is cleared of those

So all magic goed in cli commands in your shell as per configuration in package.json