Браузер console.log в эмуляторе Android

Как просмотреть console.log сообщения веб-сайта с помощью эмулятора Android?


person coure2011    schedule 18.10.2010    source источник


Ответы (6)


Из короткой статьи Рича Четвинда «Отладка Javascript в браузере Android».

Вы можете регистрировать ошибки javascript и сообщения консоли с вашего Android-устройства или эмулятора. Для этого сначала необходимо установить Android SDK и драйверы USB, а также включить отладку по USB на самом устройстве.

Чтобы проверить, правильно ли подключено устройство, вы можете запустить следующую команду из каталога инструментов Android SDK, и вы должны увидеть устройство в списке.

c:\android sdk..\platform-tools\adb devices

Затем вы можете использовать Android Debug Bridge для фильтрации отладочных сообщений, чтобы вы могли видеть только сообщения, связанные с браузером, выполнив следующую команду cmd.

c:\android sdk..\platform-tools\adb logcat browser:V *:S

По умолчанию журнал записывается в стандартный вывод, поэтому вы увидите любые ошибки Javascript или сообщения console.log и т. д., записанные в окно cmd.

Дополнительные сведения: документы по инструменту Logcat CLI.

person Doug Domeny    schedule 27.04.2011
comment
Я вижу - running logcat browser:V *:S, похоже, выводит все журналы для меня, мне пришлось передать их в grep, чтобы получить соответствующие журналы. - person Jesse; 20.07.2013
comment
Под линуксом: cd ~/eclipse/adt-bundle-linux-x86_64-20140702/sdk/platform-tools; ./adb logcat browser:V *:S | sed 's/^.*Console: \(.*\) [^ ]*/\1/' - person gaRex; 06.08.2014
comment
Мне пришлось использовать adb logcat chromium:V *:S в API 21. - person deefactorial; 31.07.2015
comment
Добавил команду для получения лога с эмулятора внизу страницы - person ktscript; 05.02.2021

Если вы запустили эмулятор из Eclipse с ADT plugin, вы увидите все журналы консоли JavaScript непосредственно в представлении LogCat:

Window -> Show View -> Android -> LogCat
person Olivier C    schedule 19.04.2012

Вы можете временно добавить JavaScript, например...

var console = {
    log: function(msg) { alert(msg); }
};

Уродливо, как ад, но это работает.

person Community    schedule 18.10.2010

Если вы используете Android Studio; вы можете открыть свой Logcat (Alt+6) и отфильтровать: :CONSOLE

При фильтрации только :CONSOLE (а не INFO:CONSOLE) будут отображаться все типы сообщений консоли (включая ERROR, WARN и т. д.).

person HardlyNoticeable    schedule 02.10.2019

Я взломал console.log, используя этот код:

function logManager() {
    var self = this;

    self.init = function () {
        console.log('logmanager initialized');
        var old = console.log;
        self.logger = document.getElementById('log');
        console.log = function (message, options) {
            if (typeof message == 'object') {
                self.logger.innerHTML = (JSON && JSON.stringify ? JSON.stringify(message) : message) + '<br />' + self.logger.innerHTML;
            } else {
                self.logger.innerHTML = message + '<br />' + self.logger.innerHTML;
            }
        }
    }
    self.toggleLogVisibility = function () {
        return $(self.logger).toggle();
    };
}

И используйте это так в своем html с вашим собственным стилем (абсолютный верхний правый - это то, что я использовал)

<div id="log" class="log">
    Application loaded...
</div>

И в вашем jscript (запустите это на странице, загруженной, поскольку элемент журнала должен существовать)

document.lmgr = new logManager();
document.lmgr.init();
person Peter    schedule 26.03.2014

Команда - получить лог от эмулятора

adb -e logcat 

adb.exe можно найти в $your_installation_path$\android sdk\platform-tools

более подробно https://docs.microsoft.com/ru-ru/xamarin/android/deploy-test/debugging/android-debug-log?tabs=windows

person ktscript    schedule 05.02.2021