Designers rapidly preview Android themes using Photoshop inside folders staged by the app
The desktop app generates screenshots almost instantaneously and without exposing Android source code to the design team
Initially a minimalistic desktop CLI tool, later rewritten with Electron.js, the desktop app can prototype themes for the following apps: FairPlayer PowerAMP PlayerPro N7 Player FairKeyboard Go Keyboard TouchPal AI Type Go Launcher Go SMS
Once a design is finished, it is packed as a .fractal archive and sent to the APK Factory Hub via Internet or Intranet for review
The APK Factory Hub is an online platform where designers, copyrighters and managers discuss themes and suggest improvements
2FA by SMS is enabled by default and all user actions are logged, including those generated by Design Stations
.fractal archives (much smaller than final apk files) are backed-up using the DropBox API
Once approved, .fractal archives are assigned to Google Play developer accounts and sent to the corresponding VM Cluster
VM Clusters are physical servers connected to the same network as the APK Factory Hub server that can be powered on or off with Wake-on-LAN
Each Google Play developer account is hosted on a separate VMWare virtual machine, with its own dedicated VPN IP
Each VM is resumed or suspended by the Master APK Factory; Slave APK Factory software installed on each VM handles VPN connectivity and app creation
An Android Publisher API to add new apps does not exist; a headless browser controlled by Selenium would perform this and other tasks instead
The .fractal archive would be expanded with image manipulation and optimization tasks, i18n, screenshot post-processing and dynamic source code for each app before packaging and signing with Ant tools and ProGuard
Once live, apps would connect to a public server to check for new notifications and other info; this server is controlled by the Hub with RESTful requests
Apps would also request advertisement IDs and fallback rules for each known ad slot to maximize eCPM
A list of themes including package name and promo image is assigned per developer account
In order to keep our accounts safe, an OpenVPN server handles ~50 private IPs for OpenVPN clients running on VMs