nothing is unhackable but there are ways to make it harder
android doesnt even have a folder as such but here is a random thought…
you could zip your files, then when app starts, decompress them to the temp folder and give them random names (that make no sense to the eye) that you generate in code, store in variables and use during that single session. you could clean out temp folder each app start to prevent it getting too big. change for random folder or folder structure every ession.
you could probably hash the images and use these in code to control they have not been tampered with, and or check image size when loading. you could save all images upsidedown and in could turn them before using them.
you could hash encrypt json files and verify on load to check they have not been tampered with.
there are many ways and methods to make both your life as well as the potential hackers life more difficult, just gotta come up with a formula for it that only you and your app can handle.
your app can probably still be hacked when running, but again, you could implement image preloading so that once the app is started and the images appear in the folder, they have already been loaded so changing them after app start wont do anything. next session = new images/files and names etc etc 