Как удаленно отлаживать веб-просмотр?

Как выполнить отладку/проверку элемента веб-просмотра apk.
Я пробовал это, но это полезно только для хрома, а не для apk.

Пожалуйста, предложите мне


person Kundan Atre    schedule 20.02.2014    source источник
comment
Удаленная отладка веб-просмотра   -  person LF00    schedule 22.06.2017
comment
Удаленная отладка xwalkview или webview   -  person LF00    schedule 22.06.2017


Ответы (6)


Попробуй это:

  1. Включить параметры разработчика на устройстве (Настройки -> О телефоне -> Нажмите 7 раз на номер сборки)
  2. Включите параметры разработчика и включите отладку по USB (в параметрах разработчика).
  3. Добавьте эту строку в свой собственный класс приложения или в действие, где загружается веб-представление.

    // если ваша сборка находится в режиме отладки, включите проверку веб-представлений

    if (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE)) {
        WebView.setWebContentsDebuggingEnabled(true);
    }
    
  4. Откройте Chrome и введите chrome://inspect/#devices, и вы должны увидеть свое устройство в списке удаленных целей.

  5. Нажмите на проверку, чтобы отладить его.

Удачного кодирования..

person Shailendra Madda    schedule 16.08.2017
comment
Требуется ли подключение телефона к USB? И что, если я тестирую приложение в симуляторе? - person Vineet 'DEVIN' Dev; 10.01.2018
comment
@ Vineet'DEVIN'Dev да, вам нужно подключиться через USB. Если вы хотите подключиться без USB, см. мой ответ здесь: stackoverflow.com/a/44442586/2462531 - person Shailendra Madda; 21.05.2018
comment
Зачем ты редактировал? Я считаю, что это было правильно с одним знаком & - person ReDetection; 13.08.2019
comment
@ReDetection Откат, я думал, что пропустил еще один и подписал - person Shailendra Madda; 14.08.2019
comment
Немного обновленный способ: WebView.setWebContentsDebuggingEnabled(BuildConfig.DEBUG) - person Chapz; 14.05.2021

Это то, что сработало для меня, переопределите метод onCreate в MainActivity.java и добавьте эту строку в метод WebView.setWebContentsDebuggingEnabled(true).

Вот как выглядит мой код:

package com.myapp;

import com.facebook.react.ReactActivity;
import android.webkit.WebView;

public class MainActivity extends ReactActivity {

    /**
     * Returns the name of the main component registered from JavaScript.
     * This is used to schedule rendering of the component.
     */
    @Override
    protected String getMainComponentName() {
        return "myapp";
    }

    @Override
    protected void onCreate() {
        super.onCreate();
        //added this line with necessary imports at the top.
        WebView.setWebContentsDebuggingEnabled(true);
    }
}

Создайте свой код, откройте свое приложение на телефоне и перейдите на chrome://inspect . Там вы увидите свое приложение. Нажмите на ссылку для проверки.

person Muthukrishnan    schedule 09.11.2018
comment
Спасибо за это. К вашему сведению, в React Native v0.57.3 нет необходимости импортировать android.os.Bundle, так как он больше не требуется для метода onCreate() - person Gianfranco P.; 25.11.2018
comment
Я не думаю, что метод onCreate больше не существует, я получаю сообщение об ошибке no suitable method found for onCreate(no arguments) - person Nodeocrat; 09.06.2021

Если вы ищете способ включить отладку WebView для приложения, для которого у вас нет исходного кода, это можно сделать, но вам потребуется декомпилировать и перекомпилировать приложение.

Инструкции о том, как это сделать, можно найти здесь: https://blog.speedfox.co.uk/articles/1524219174-Android_WebView_Hackery

person DanielM    schedule 24.05.2018

Я вижу, что есть глава для webView. Пробовали ли вы? https://developers.google.com/chrome-developer-tools/docs/remote-debugging#debugging-webviews

Кажется, нужно:

  • Android-устройство или эмулятор под управлением Android 4.4 или более поздней версии с включенной отладкой по USB, как описано в разделе 2. Включите отладку по USB на своем устройстве.

  • Chrome 30 или более поздней версии.

person clijiac    schedule 20.02.2014
comment
Привет Clijac, я видел этот раздел. Он позволяет отлаживать только URL-адрес в Chrome, тогда как мне нужно что-то, с помощью чего я могу отлаживать apk, в котором есть веб-просмотр. - person Kundan Atre; 20.02.2014

Чтобы отлаживать веб-просмотры в приложении для Android, вы должны установить WebView.setWebContentsDebuggingEnabled(true) в WebviewActivity

Откройте chrome://inspect/#device для отладки. Используйте переадресацию портов. Надеюсь это поможет! https://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews

person bitsabhi    schedule 15.03.2017

В react-native-webview они дают объяснение как для IOS, так и для Android.

https://github.com/react-native-community/react-native-webview/blob/master/docs/Debugging.md

Помог мне на IOS.

person Vitor Hugo Bettani    schedule 16.09.2019