[Ouya General] daeymon:
This is an amazing thread and its opened up a whole new world for me and my JXD S7800. I just figured out how to get RCB to launch Android games. It requires using nfo files as ROM files, and the %GAMECMD% param to parse the right info to the command line. GAMECMD can be entered manually within RCB but its easier to put it in the nfo file your going to use as a ROM file and then set one of your scrapers as LocalNFO.

For the file located

/addons/script.games.rom.collection.browser/resources/lib/dbupdate.py

Replace:

region = self.resolveParseResult(gamedescription, 'Region')

With:

gameCmd = self.resolveParseResult(gamedescription, 'GameCmd')
region = self.resolveParseResult(gamedescription, 'Region')

and Replace:

gameId = self.insertGame(gamename, plot, romCollection.id, publisherId, developerId, reviewerId, yearId,

With:

gameId = self.insertGame(gamename, plot, gameCmd, romCollection.id, publisherId, developerId, reviewerId, yearId,

and Replace:

def insertGame(self, gameName, description, romCollectionId, publisherId, developerId, reviewerId, yearId,

With:

def insertGame(self, gameName, description, gameCmd, romCollectionId, publisherId, developerId, reviewerId, yearId,

and Replace:

Game(self.gdb).insert((gameName, description, None, None, romCollectionId, publisherId, developerId, reviewerId, yearId,

With:

Game(self.gdb).insert((gameName, description, gameCmd, None, romCollectionId, publisherId, developerId, reviewerId, yearId,

and Replace:

Game(self.gdb).update(('name', 'description', 'romCollectionId', 'publisherId', 'developerId', 'reviewerId', 'yearId', 'maxPlayers', 'rating', 'numVotes',
'url', 'region', 'media', 'perspective', 'controllerType', 'originalTitle', 'alternateTitle', 'translatedBy', 'version', 'isFavorite', 'launchCount'),
(gameName, description, romCollectionId, publisherId, developerId, reviewerId, yearId, players, rating, votes, url, region, media, perspective, controller,
originalTitle, alternateTitle, translatedBy, version, int(isFavorite), int(launchCount)),
gameId, allowOverwriteWithNullvalues)

With:

Game(self.gdb).update(('name', 'description', 'gameCmd', 'romCollectionId', 'publisherId', 'developerId', 'reviewerId', 'yearId', 'maxPlayers', 'rating', 'numVotes',
'url', 'region', 'media', 'perspective', 'controllerType', 'originalTitle', 'alternateTitle', 'translatedBy', 'version', 'isFavorite', 'launchCount'),
(gameName, description, gameCmd, romCollectionId, publisherId, developerId, reviewerId, yearId, players, rating, votes, url, region, media, perspective, controller,
originalTitle, alternateTitle, translatedBy, version, int(isFavorite), int(launchCount)),
gameId, allowOverwriteWithNullvalues)

Then for the file located

/addons/script.games.rom.collection.browser/resources/scraper/00 - local nfo.xml

Replace:

<Game>title</Game>

With:

<Game>title</Game>
<GameCmd>gameCmd</GameCmd>

Now set your "Emulator Cmd" to:

/system/xbin/su

and your "Emulator Params" to

-c 'am start -n %GAMECMD%'

and your "Rom Fie Mask" to

*.nfo

and one of your scrapers need to be set to "local nfo"

Now set the "Rom Path" to any empty folder on your SD card. Then create text files in this folder and change their extensions to nfo. The name of the nfo is not important but inside it you need:

<game>
<gameCmd>PackageName/ActivityName</gameCmd>
<game>

An example is the following to run Punch Quest

<game>
<gameCmd>com.noodlecake.punchquest.humble/com.noodlecake.punchquest.punchquest</gameCmd>
<game>

And that's it. This setup has it working for me.