¿Código fuente de la aplicación Android de Google Chrome?

Quería construir una interfaz de usuario que tiene similitudes con la versión de Google Chrome para Android. ¿Cómo puedo construir la versión android de Google cromo yo mismo?

Mi recomendación para el tipo de buceo es echar un vistazo a la fuente de http://code.google.com/p/chromiumembedded/ .

Es una especie de versión condensada de Chrome y si observas los archivos que utiliza específicamente, ya sea los incluidos en su árbol de origen o los archivos incluidos en él desde el repositorio de Chromium en general. La base de código de cromo es una enorme cantidad de cosas, la mayoría de los cuales no es realmente en el navegador. Hay un montón de tirado en el código de repos de terceros que luego se reducen en el proceso de construcción o la implementación de Chromium se encuentra en algún otro lugar en el árbol, hay un montón de proyectos paralelos que (aunque interesante y un recurso impresionante para una amplia gama de Cosas) le impedirá alcanzar su objetivo de perfeccionar específicamente en la implementación del navegador y cómo encaja.

CEF es genial porque se puede ver a alguien que ya ha hecho el proceso de reunir todas esas cosas para construir un proyecto con un alcance muy específico en la vista del navegador y nada más. Usted puede ver qué partes se derivan principalmente de webkit fácilmente, usted puede ver donde el crossover viene con las implementaciones de Google, y se puede ver muy fácilmente cómo V8 se lanzó en la mezcla.

Yo digo "fácilmente" en términos relativos, porque todavía estamos hablando de una gran cantidad de código en general. CEF te pondrá en el centro de los requisitos, pero ese material todavía está tirando en la cantidad masiva de varias cosas del resto del árbol. La compilación me toma cerca de una hora en una computadora realmente buena con 12 gigas de RAM y 8 núcleos, y los archivos generados ocupan como 6-10 gigs dependiendo.

Por lo menos, no va a haber ningún tipo de salto rápido en el extremo poco profundo para recoger algo aquí o allí poco a poco. Los navegadores son piezas increíblemente complejas de ingeniería necesariamente, porque tienen que subsumir una cantidad tan grande de piezas individuales de funcionalidad y luego combinarlas en un contexto compartido. Puede encontrar la única cosa que está buscando, pero encontrará que es parte de una biblioteca de clases que probablemente se compone de decenas o cientos de archivos, que a su vez se basa en un centenar más de estas bibliotecas para manejar cada tarea , Por lo que realmente tomar algo lejos que tendrá que comprometerse a tomar en mucho más que cualquier pieza de información.

Edit: oh también como su ejemplo específico.

Src es root http://src.chromium.org/viewvc/chrome/trunk/src

/ Chrome http://src.chromium.org/viewvc/chrome/trunk/src/chrome

El árbol de "cromo" contiene en gran parte las implementaciones directas (un montón de cosas no está ahí sin embargo, la mayoría de ella, incluso, pero ese es el punto de partida). Esto tiene solapamiento con cromos (chromeos es una especie de navegador de cromo llevado a un extremo loco)

/ Chrome / browser http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/

Es llegar a cerca de donde quieres estar. Usted comienza a ver referencias específicas a las cosas que usted puede hacer coincidir con el navegador, como las pestañas y lo demás (ignorando el elefante gigante de la aplicación del navegador real en sí que es lo que ocupa la mayoría de la mente en todo esto)

/ Chrome / browser / ui http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/

Te lleva a donde está la mayor parte del código ui para el navegador. Puede ser confuso cuando hay crossover o cuando las cosas migran, como si hubiera un "ui" en el directorio raíz src que tiene algún crossover.

Y finalmente http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/ui/omnibox/

Que tiene una cantidad sorprendentemente pequeña de código en ella. Pero esto es lo que usted encuentra mucho. El código aquí es una implementación de un número de clases que se construyen en otro lugar. Para el componente no gui de vista web, los encontrarás en su mayoría apuntando hacia atrás a la raíz "ui" y las cosas nativas de los widgets allí, que es donde la mayor parte del código de manejo de eventos es si recuerdo correctamente.

Por favor, lea la FAQ del cromo.

¿Es Chrome para Android de código abierto?

Chrome para Android se deriva de cromo. Desde el lanzamiento de la primera versión, hemos abierto constantemente todos los componentes críticos. Puedes crear varios componentes de Chromium para Android, como se utilizan en Chrome para Android, siguiendo las instrucciones de este manual.

  • Android no se desplaza correctamente en el foco de entrada si no elemento del cuerpo
  • El reenvío de puertos de Chrome DevTools no funciona para números de puerto altos
  • Uso de window.print () o alternativa en dispositivos Android
  • Desactivación de la función de extracción de cromo de Android para actualizar
  • Enlace profundo de Chrome a la aplicación nativa
  • Depuración remota con cromo sólo funciona con una versión de pasarela más antigua
  • ¿Google Chrome beta para la carga del archivo de soporte de Android con el atributo webkitdirectory?
  • ¿Cómo puedo abrir una aplicación de mi navegador web (Chrome) en Android? ¿Qué tengo que ver con el enlace A Href?
  • Inspeccionar elemento en Android sin necesidad de conectarlo a la computadora
  • ¿La función de ahorro de datos de Chrome está habilitada en Crosswalk WebView?
  • Android 7 WebView con wrap_content
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.