La mejor manera de cambiar las versiones del repositorio de android eficientemente una vez descargado usando repo / git
Tengo una situación donde tengo que construir un conjunto de copias estáticas del código fuente de Android de diferentes versiones de lanzamiento.
Simplemente haciendo un repo init -b $version; repo sync
repo init -b $version; repo sync
tardará para siempre (el init
requiere la interacción, y las sincronizaciones serán desperdicio de mi anchura de banda a través de versiones).
- Utilizando un local_manifest.xml con repo
- Android - ¿Añadir una nueva biblioteca al repo?
- Código fuente y repo de Android - ¿Qué está ocurriendo exactamente al obtener el código
- Después de la sincronización Repo, no hay archivos en el directorio
- Android Repo init fallido
Mi configuración actual es descargar una versión base (digamos 1.6_r1), copiarla a una nueva carpeta (android-1.6_r2) y luego volver a ejecutar init
y sync ( repo init -b android-1.6_r2; repo sync
). La sincronización falla a veces sin embargo, con errores como:
Ndk / build / plataformas / android-3 / arch-arm / usr / incl
Abortar
Árbol de trabajo de sincronización: 100% (153/153), hecho.Error: desarrollo /: comprobación de plataforma / desarrollo caf83cb2b0ffde1a4cfb7cb258cbe012e283d9e1 Reposición de sincronización devuelta FAIL en android-2.1_r2.1s
He encontrado algunos mensajes con errores similares que indican que esto podría ser causado por repo estar fuera de sincronía con los archivos "cambiados" en el sistema de archivos, pero me pregunto si mis errores son causados por el cambio de las versiones en la nariz de repo.
¿Es esta la forma correcta de cambiar las versiones del repositorio? En términos más generales, ¿hay una manera eficiente de tiempo / ancho de banda para convertir un repositorio android-1.6_r1
en un android-1.6_r2
?
- Android Source Repo GPG clave pública no encontrada
- Comando de repo de Android y ramas de conmutación
- Android Studio Mejor manera de importar el módulo de otro repositorio
- ¿Está disponible la documentación de 'repo' de Android?
- Clonación de fuentes de Android a un servidor de repositorio local
- ¿Qué sucede detrás de las escenas cuando hago una sincronización de repo?
- Cambiar entre diferentes etiquetas de repo de Android
- Cómo usar "repo" para clonar la fuente androide mínimo?
( UPDATE : mi respuesta inicial implica que podemos incrementar init un nuevo repo de un anterior, por ejemplo 1.6_r1 a 1.6_r2, pero la configuración correcta debería haber sido tener un local "espejo principal" repo donde podemos señalar la referencia a Al iniciar un nuevo init. He modificado el texto a continuación para evitar la implicación incorrecta.)
En lugar de copiar, intente agregar --reference=/path/to/main/repo
a su comando repo init
en el nuevo directorio.
Por ejemplo, si ya tiene un directorio repo /repos/aosp-main
descargado anteriormente (y sincronizado con googlesource.com), puede hacer lo siguiente:
$ mkdir /repos/aosp-1.6_r1 $ cd /repos/aosp-1.6_r1 $ repo init -b android-1.6_r1 -u https://android.googlesource.com/platform/manifest --reference=/repos/aosp-main $ repo sync
Y luego, si desea una versión diferente:
$ mkdir /repos/aosp-1.6_r2 $ cd /repos/aosp-1.6_r2 $ repo init -b android-1.6_r2 -u https://android.googlesource.com/platform/manifest --reference=/repos/aosp-main $ repo sync
De esta manera, solo necesitamos sincronizar con la dirección de googlesource.com cuando hay cosas nuevas que todavía no hemos descargado y debería usar el repo principal ya sincronizado para inicializar repos adicionales localmente.
¿Se ha cerciorado de actualizar el script de repo sólo para estar seguro?
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo $ chmod a+x ~/bin/repo
- Aplicación para Android desde QR Code con params
- Obtener el codec compatible para el dispositivo Android