This code has been reviewed and submitted internally. Feel free to discuss on the PR and we can submit follow-up changes as necessary.
Commits:
Add vm.args to the default VmConfig for AdbDevice. This is needed to be consistent with LocalDevice, which does this for its default VmConfig, and also to be consistent with any named VM, which would also get vm.args added (it's surprising to go from having the default, which should be dalvikvm, succeed, to "-m dalvikvm" and have it fail because it got too large a -Xms/x).
0d3add430ef7e165009e35e5d732bea7ad96e90f
-------
Split global-config.properties into three: global-config.properties, global-config-local.properties and global-config-adb.properties.
This allows there to be different global defaults for various things between local and Android devices, which solves some of our configuration related issues:
- The default set of instruments is only "runtime" for Android devices since that's all that Android VMs support.
- The default options for the runtime instrument are different for Android devices.
It doesn't solve probably the biggest issue, which is the default vm.args value of "-Xms3g -Xmx3g", because that's set in the user's local configuration file. But that at least is pretty easy to override via the command line. I may try to solve that by doing something similar to what I've done for the global config here for the user config as well.
0e64ec4262e518b834b72b8ac6e4d72bcedd77d5
This code has been reviewed and submitted internally. Feel free to discuss on the PR and we can submit follow-up changes as necessary.
Commits:
Add vm.args to the default VmConfig for AdbDevice. This is needed to be consistent with LocalDevice, which does this for its default VmConfig, and also to be consistent with any named VM, which would also get vm.args added (it's surprising to go from having the default, which should be dalvikvm, succeed, to "-m dalvikvm" and have it fail because it got too large a -Xms/x). 0d3add430ef7e165009e35e5d732bea7ad96e90f -------
Split global-config.properties into three: global-config.properties, global-config-local.properties and global-config-adb.properties. This allows there to be different global defaults for various things between local and Android devices, which solves some of our configuration related issues: - The default set of instruments is only "runtime" for Android devices since that's all that Android VMs support. - The default options for the runtime instrument are different for Android devices. It doesn't solve probably the biggest issue, which is the default vm.args value of "-Xms3g -Xmx3g", because that's set in the user's local configuration file. But that at least is pretty easy to override via the command line. I may try to solve that by doing something similar to what I've done for the global config here for the user config as well. 0e64ec4262e518b834b72b8ac6e4d72bcedd77d5