Creando WebView desde Chromium para Android
Estoy tratando de seguir las instrucciones para construir la webview apk de base de cromo. Estoy ejecutando una versión de Android-7.0. Terminé el proceso de compilación de cromo y generé el APK. Tengo dos preguntas relacionadas con pasos después de la generación de APK.
En primer lugar, el nombre de la biblioteca es diferente de lo que esperaba. El webview.apk
predeterminado tiene un nombre de librería libwebviewchromium.so
, pero el APK que construí a partir de cromo ( SystemWebView.apk
) contiene la lib libwebviewchromium.cr.so
. Quería preguntar si eso puede causar problemas y si otros también vieron esto.
- xamarin android webview ya no recupera la página servida localmente con httplistener
- La forma de Córdoba no se envía o los botones no funcionan (android +4.4)
- WebView en Android ICS, problemas de iframe con android_assets
- Escuchar Webview Key Events desde el teclado del software en la actividad de Android
- ¿Cómo utilizar WebView para mostrar páginas html en modo lector de libros electrónicos?
En segundo lugar, no puedo desinstalar la aplicación com.android.webview
del dispositivo. Las instrucciones requieren la desinstalación de esta aplicación y la eliminación de su carpeta antes de que se pueda instalar el nuevo APK. Tengo el error:
$ adb uninstall com.android.webview [DELETE_FAILED_INTERNAL_ERROR]
Quería preguntar si alguien sabe cómo resolver esto. Vi una pregunta relacionada y quiero preguntar si hay otro enfoque que hacer lo que sugiere esta respuesta .
- Hacer Android WebView no almacenar cookies o contraseñas
- Android Webview: No se puede llamar a determinedVisibility () - nunca vio una conexión para el pid
- Flash en un WebView de Android - problema de capas
- Aplicación de Android utilizando Webview / javascript. Lo que puede ser preocupación de seguridad?
- La vista web de Android conserva los datos del formulario cuando cambia la orientación
- LeakCanary detecta pérdida de memoria de Android WebView
- Obtener valor href de la etiqueta de anclaje en Android WebView cuando se hace clic en el enlace
- Android Phonegap 2.1> 2.2 Error de actualización
La siguiente respuesta está relacionada con la segunda parte de mi pregunta.
Hice los siguientes pasos para hacer que el trabajo de SystemWebView.apk
(nota: el webview.apk
era una aplicación del sistema en mi compilación en /system/app
, los pasos a continuación se utilizaron para instalar y probar SystemWebView.apk
como una aplicación de terceros)
(Eche un vistazo al primer paso para realizar copias de seguridad de 2 archivos)
- En primer lugar seguí la respuesta vinculada a adb pull & editar los archivos
packages.xml
ypackages.list
(no los he empujado todavía) - Parada de la coquilla
- Empujo los dos archivos
- Entonces eliminé las carpetas siguientes (básicamente cualquier rastro de
com.android.webview
):
/system/app/webview /data/data/com.android.webview /data/user/0/com.android.webview /data/misc/profiles/cur/0/com.android.webview /data/misc/profiles/ref/com.android.webview /data/user_de/0/com.android.webview
-
Adb install SystemWebView.apk
-
También había mantenido una copia de seguridad de los archivos
libwebviewchromium64.relro
ylibwebviewchromium32.relro
de/data/misc/shared_relro/
. Después de la instalación, me di cuenta de que estos archivos se borran por alguna razón, así que los copié de nuevo (primero copiar en sdcard y luego pasar a la carpetashared_relro
). -
Inicio de la shell adb
Después de eso probé una aplicación sencilla que contenía un WebView
, y podía ver páginas web cargadas.
La vista Web nativa tiene muchas limitaciones en rendimiento y almacenamiento en caché.
Preferiría sugerirle a CustomTabsClient
, una vista web compatible con Chrome Browser.
Usted podría conseguirlo agregando dependencias siguientes a su proyecto.
dependencies { ... compile 'com.android.support:customtabs:23.3.0' }
Para más detalles visita.
https://developer.chrome.com/multidevice/android/customtabs
Usted tiene que construir SystemWebView.apk con ninja -C out / Release system_webview_apk
Para más detalles ver esta página. https://chromium.googlesource.com/chromium/src/+/master/docs/android_build_instructions.md y https://www.chromium.org/developers/how-tos/build-instructions-android-webview
Adb uninstall com.android.webview
Falla porque se trata de una aplicación de sistema, puede reemplazar directamente webview.apk en / system / app / webview / dir, después de esto se detiene && start para esto necesita permiso de root.
- Respuesta de Google Cloud Messaging Server lenta (1 minuto)
- El tipo de retorno observable debe parametrizarse como Observable <Foo> o Observable <? Se extiende Foo>