This was what I used years ago. But the APK is too old now. https://github.com/hansoochan/DSdroid
Havent tried it but Citra is an option.
Lemuroid emulates most handhelds, and works pretty well in my experience (S9, to give an idea of performance)
DraStic is amazing on midrange devices. Compatibility is excellent in my experience, there’s a lot of UI customization available, and there are some nice filter and scaling options built-in. It also has full controller support.
RetroArch. Use melon core
https://f-droid.org/repo/com.retroarch
You can install multiple cores on it.
First you have to go to the online updater and update all of your configuration files, core files, assets, everything and restart, but then you can simply go to the online updater and download any emulator core for any system.
I am playing on MelonDS which requires one fix to use the touchscreen in-game:
Core options -> screen -> change first option to Touch.
Also for pokemon specifically to have save filed work properly, you have to download a nintendoDS BIOS blob and put it in one of your retroarch folders. There are guides on that.
A little bit of configuration, bit you essentially have every single open source emulator in one app.