Можно ли отлаживать мобильное приложение GWT в браузере iPhone?
Я знаю, что не могу установить плагин разработчика для браузера, но есть ли другой обходной путь?
Можно ли отлаживать мобильное приложение GWT в браузере iPhone?
Я знаю, что не могу установить плагин разработчика для браузера, но есть ли другой обходной путь?
Я знаю, что не могу установить плагин разработчика для браузера??
Да. Ты прав. Большой Нет. Вам нужен плагин GWT для отладки байт-кода в вашей среде IDE.
К сожалению, на данный момент нет обходного пути, по крайней мере, насколько мне известно.
Если вы хотите отлаживать Javascript, сгенерированный GWT, также довольно сложно, потому что по умолчанию GWT
компилятор генерирует запутанный код.
Если вы хотите попробовать скрипт Java, просмотрите параметры компилятора:
Если вы используете библиотеку MGWT (http://code.google.com/p/mgwt/), вы можете легко перекомпилировать модуль GWT со своего мобильного устройства, чтобы отлаживать внешний вид пользовательского интерфейса.
импортировать этот класс
import com.googlecode.mgwt.ui.client.util.SuperDevModeUtil;
вызовите этот метод в своем классе EntryPoint
SuperDevModeUtil.showDevMode();
Более подробную информацию вы найдете в статье. Даниэль Курка о Режим Super Dev
Но вы не можете делать это шаг за шагом, добавляя точки останова в код Java.
Режим GWT Super Dev работает на мобильных устройствах Android, поскольку для него больше не требуется подключаемый модуль браузера.
Вам нужна некоторая поддержка букмарклетов, которые теперь включают и выключают режим суперразработчика. Если это невозможно в вашем браузере, вместо нажатия на букмарклет вы можете выполнить свой собственный 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, например this. Это будет что-то вроде
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, и режим разработки запускается непосредственно внутри вашего приложения.
В противном случае вы можете попытаться посетить такой «URL-адрес JavaScript» с вашего устройства тем или иным способом. Это также может работать на устройствах, отличных от Android, таких как iPhone.
Старый поток, но для тех, кто ищет ответ о том, как это сделать для устройства 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; и устройство должно быть обнаружено ADB