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).
- ¿Está disponible la documentación de 'repo' de Android?
- ¿Cómo puedo subir mi proyecto Eclipse Android a GitHub?
- Repo: ¿no se ha encontrado el comando?
- ¿Cómo mostrar las ramas disponibles en el árbol de fuentes de Android?
- Rollback usando el comando repo?
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
?
- ¿Cómo obtengo los orígenes de la API de Java?
- ¿Cómo puedo compartir código a través de git con otros que tengan el repositorio de Android?
- Cómo reanudar la sincronización de repo
- Utilizando un local_manifest.xml con repo
- ¿Qué sucede detrás de las escenas cuando hago una sincronización de repo?
- Cómo usar "repo" para clonar la fuente androide mínimo?
- Empujar la sucursal de repo a un espejo local de AOSP
- La sincronización de Repo se bloquea
( 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