Just play the devil’s lawyer: who will say that the server is not compromised and delivers the secret key / salt / IV from the attacker? This can be done using a hacked access point, for example, or using some Android malware that redirect host names to different IP addresses that replace your server.
Don't worry about these potential issues. You are not responsible for maintaining the integrity of your users' devices. If I were you, I would just save the encryption key / credentials on the user device in the internal / private application store.
If the user has a root or compromised system, you should not blame, and I think the user is much more worried.
In addition, you need to ask yourself a question if your application, in particular, is worth it for an attacker to study, address and use.
source share