I'd do that this way (not tested, so some refinements/adjustments may be needed):
1. Have a CustomBuildAction that runs your UI program to select the customer:
#CustomBuildAction: folders ready, path_to_your_program.exe
That program should create file "server.txt" in the project's Files folder.
2. In your app's code, get the server name with:
serverName = File.ReadString(File.DirAssets, "server.txt")
3. 'APK gets copied to the FilePath variable and append the Version# variable in the APK name':
Use '#CustomBuildAction: 4, ...' (i.e., before the APK is installed:
https://www.b4x.com/android/forum/threads/modules-attributes.24721/) to run a console (command line) program (that you write, e.g. in B4J) to which you pass command line arguments 'project name' and 'project folder' (
https://www.b4x.com/android/forum/threads/b4x-comment-links.119897) using '%PROJECT_NAME%' and '%PROJECT%' in the #CustomBuildAction command. (If you'd only use this approach for one specific project, you can even hardcode those values in that program instead of using command line arguments.)
Knowing the project name and folder, you can
- read the .b4a file (it is a text file) and determine the app's version by looking at the lines that contain '#VersionCode' or '#VersionName',
- and then copy the apk file from the Objects folder to the folder specified in environment variable 'FilePath'