(2021-08-02, 22:14)tillaz87 Wrote: How do I launch an android app? Can't figure it out 🤔
You can have a look at the
external_command_database.xml
from the addon IAGL, where you have tons of launcher examples for Android. In particular, go to
line 139 of the file and you can see:
xml:
<!-- Android External Retroarch Commands -->
<launcher name="RetroArch 4DO (3DO)" os="android">
<command>/system/bin/am start --user 0 -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
-n com.retroarch/com.retroarch.browser.retroactivity.RetroActivityFuture
--es "LIBRETRO" "%CORE_BASE_PATH%/4do_libretro_android.so"
--es "CONFIGFILE" "%CFG_PATH%"
--es "ROM" "%ROM_PATH%"
--es "IME" com.android.inputmethod.latin/.LatinIME
--activity-clear-task --activity-clear-top --activity-no-history</command>
</launcher>
Note that I have included additional carriage returns for the shake of clarity. In AEL, the launcher application will be
/system/bin/am
and the rest are the application arguments. Change
%CFG_PATH%
with
/storage/emulated/0/Android/data/com.retroarch/files/retroarch.cfg
. Also, change
%CORE_BASE_PATH%
with
/data/data/com.retroarch/cores/
which is the default location. Finally, change
%ROM_PATH%
with
$rom$
. Down in the file
external_command_database.xml
you have other Android emulators different from Retroarch. The important thing is that you learn to adapt the examples in this file to something you can use in AEL.
Another alternative is to look into the AEL asset library.
In this directory you have several AEL XML .configurations for Android launchers. For example, this is the contents of file
Mame - Retroarch (Android).xml
xml:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<advanced_emulator_launcher_configuration>
<launcher>
<name>Mame</name>
<category>Arcade</category>
<Launcher_NFO>../Launcher assets Arcade/MAME.nfo</Launcher_NFO>
<platform>MAME</platform>
<application>/system/bin/am</application>
<args>start --user 0 -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -e ROM "%rom%"
-e LIBRETRO /data/data/com.retroarch/cores/mame_libretro_android.so
-e CONFIGFILE /storage/emulated/0/Android/data/com.retroarch/files/retroarch.cfg
-e IME com.android.inputmethod.latin/.LatinIME
-e REFRESH 60
-n com.retroarch/.browser.retroactivity.RetroActivityFuture</args>
<ROM_path>/sdcard/roms/games/mame/</ROM_path>
<ROM_ext>zip</ROM_ext>
<ROM_asset_path>/sdcard/roms/assets/mame/</ROM_asset_path>
<Asset_Prefix>../Launcher assets Arcade/</Asset_Prefix>
</launcher>
</advanced_emulator_launcher_configuration>
Note that here I also have included extra carriage returns in the
<args>
tag for convenience. One nice thing of Retroarch is that once you configure a core/platform then it is very easy to configure another core, the only thing that changes is the core name, the ROM path and the artwork path. Change the
ROM_path
and the
ROM_asset_path
to suit you setup and remember that most tags in the XML file are optional, first configure something that works, then you add the bells and whistles.
Finally, I strongly recommend to use XML configuration files for AEL, specially in Android you need to use such long argument strings that using the graphical user interface is most annoying.