Вот другой пример, который мог работать межплатформенный:
public static void shutdown() throws RuntimeException, IOException {
String shutdownCommand;
String operatingSystem = System.getProperty("os.name");
if ("Linux".equals(operatingSystem) || "Mac OS X".equals(operatingSystem)) {
shutdownCommand = "shutdown -h now";
}
else if ("Windows".equals(operatingSystem)) {
shutdownCommand = "shutdown.exe -s -t 0";
}
else {
throw new RuntimeException("Unsupported operating system.");
}
Runtime.getRuntime().exec(shutdownCommand);
System.exit(0);
}
определенные команды завершения работы могут потребовать различных путей или административных привилегий.
Это непросто на 100%, но я бы порекомендовал настроить свой собственный сервер на локальном компьютере, пока кто-то не выяснит, как или не займет время, чтобы обернуть такой сервер в удобный инструмент для установки в один клик.
Два эмулятора, о которых вы упоминали, могут быть использованы описанным вами способом. Достаточно скачать один и запустить его на локальном сервере. Затем вы можете разрабатывать свои гаджеты в автономном режиме, без необходимости загружать их каждый раз, когда вы хотите их протестировать.
Вот ссылки на источник эмуляторов гаджетов: