GWT Dev Mode или Super Dev Mode на мобильных устройствах?

Можно ли отладить мобильное приложение GWT в моем браузере iPhone?

Я знаю, что не могу установить плагин для браузера, но есть ли другой обходной путь?

4 ответа

Решение

Я знаю, что не могу установить плагин для браузера разработчик??

Да. Ты прав. Большое спасибо. Вам нужен плагин GWT для отладки байтового кода в вашей IDE.

К сожалению, пока нет обходного пути, по крайней мере, насколько мне известно.

Если вы хотите отлаживать Javascript, сгенерированный GWT также довольно сложно, потому что по умолчанию GWT Компилятор генерирует запутанный код.

Если вы хотите попробовать с java scriptlook в опциях компилятора:

Если вы используете библиотеку MGWT ( http://code.google.com/p/mgwt/), вы можете легко перекомпилировать свой модуль GWT со своего мобильного устройства, чтобы отладить внешний вид пользовательского интерфейса.

импортировать этот класс

import com.googlecode.mgwt.ui.client.util.SuperDevModeUtil;

вызовите этот метод в вашем классе EntryPoint

SuperDevModeUtil.showDevMode();

Более подробную информацию вы найдете в статье Daniel Kurka о режиме Super Dev.

Но вы не можете сделать это шаг за шагом, добавив точки останова в свой код Java.

Старый поток, но для тех, кто ищет ответ о том, как сделать это для устройства Android.

Сначала вы должны использовать SuperDevMode. При запуске SuperDevMode (CodeServer) добавьте следующий аргумент:

-bindAddress 0.0.0.0

Так что у вас будет что-то вроде

-bindAddress 0.0.0.0 -logLevel INFO -port 9876 -launcherDir c:/inetpub/wwwroot/wawa be.abc.cba.wawa

Теперь перейдите на этот сайт, используя ваш компьютер, и включите devmode.

Теперь, когда вы переходите на тот же веб-сайт с помощью своего мобильного устройства, приложение автоматически перекомпилирует приложение, и вы будете работать с кодом superDevMode на своем мобильном устройстве.

Теперь при использовании устройства Android вы даже можете использовать удаленные инструменты Chrome для просмотра дерева DOM, журнала консоли, трафика сети, установки точек останова и многого другого. Для этого вы должны запустить Chrome на рабочем столе и подключить его к мобильному устройству.

Ознакомьтесь с https://developers.google.com/web/tools/chrome-devtools/remote-debugging/?utm_source=dcc&utm_medium=redirect&utm_campaign=2016q3 объяснением того, как это сделать. Обратите внимание, что для этого ваше устройство должно быть подключено через USB; Отладка по USB должна быть включена; Инструменты Android SDK должны быть установлены; и устройство должно быть обнаружено АБР

Режим GWT Super Dev работает на мобильных устройствах Android, так как он больше не требует подключения к браузеру.

У вас должна быть поддержка букмарклетов, которые теперь включают и выключают режим Super Dev. Если это невозможно в вашем браузере, вместо нажатия на букмарклет вы можете выполнить свой собственный JavaScript, чтобы активировать режим супер-разработки на этой странице.

URL букмарклета выглядит так

javascript:%7B%20window.__gwt_bookmarklet_params%20%3D%20%7B'server_url'%3A'http%3A%2F%2F192.168.55.55%3A1234%2F'%7D%3B%20var%20s%20%3D%20document.createElement('script')%3B%20s.src%20%3D%20'http%3A%2F%2F192.168.1.5%3A9876%2Fdev_mode_on.js'%3B%20void(document.getElementsByTagName('head')%5B0%5D.appendChild(s))%3B%7D

По сути, это кодированный JavaScript, и вы можете использовать URLDecoder для его декодирования. Это будет что-то вроде

javascript:
  { 
    window.__gwt_bookmarklet_params = 
      {'server_url':'http://192.168.55.55:1234/'}; 
    var s = document.createElement('script'); 
    s.src = 'http://192.168.1.5:9876/dev_mode_on.js'; 
    void(document.getElementsByTagName('head')[0].appendChild(s));
  }

Если вы запускаете свой GWT-код в собственном приложении Android, такой JavaScript может быть выполнен в WebView с помощью его метода loadUrl, и режим разработки запускается непосредственно внутри вашего приложения.

В противном случае вы можете попытаться посетить такой "javascript URL" с вашего устройства тем или иным способом. Это также может работать на устройствах не Android, таких как iPhone.

Другие вопросы по тегам