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.

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 .

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)

  1. En primer lugar seguí la respuesta vinculada a adb pull & editar los archivos packages.xml y packages.list (no los he empujado todavía)
  2. Parada de la coquilla
  3. Empujo los dos archivos
  4. 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 
  1. Adb install SystemWebView.apk

  2. También había mantenido una copia de seguridad de los archivos libwebviewchromium64.relro y libwebviewchromium32.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 carpeta shared_relro ).

  3. 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.

  • ¿Necesita Android WebView permisos para abrir URL externas?
  • Ocultar elemento HTML en Android WebView?
  • Problemas con Vimeo Player en Android WebView de la aplicación
  • La vista web de Android shouldOverrideUrlLoading no se llama
  • Fling Gesture y Webview en Android
  • El contenido favorito no se muestra correctamente en la vista web
  • Android detecta cambio de URL de webview
  • Android WebView para Facebook como botón
  • ¿Cómo desplazar la vista web horizontalmente dentro de ViewPager?
  • Cómo encontrar la animación ha terminado de jugar en android
  • Cómo enviar parámetros a un archivo local en un WebView en android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.