git – checkout código de git remoto en el proyecto de Android Studio importado con la construcción de Gradle

Tengo un código que importé en Android Studio.

Ahora tiene una compilation de Gradle (que no tenía anteriormente). Ahora necesito hacer un git pull . Sin embargo, dado que la estructura del directory ha cambiado ligeramente, no estoy seguro de cómo continuar con esto.

La estructura de directorys de Android Studio en app/src/main es similar a la original, por ejemplo:

Estudio Android

 [main]$ ls AndroidManifest.xml assets java res [main]$ ls java/ LICENSE.txt README.md com 

El original

 $ ls AndroidManifest.xml README.md res LICENSE.txt assets src $ ls src/ com 

En com es bastante similar, excepto que la ruta del dominio inverso es ligeramente diferente (por ejemplo, com/original y com/new ). es decir, parece que el único file significativo es AndroidManifest.xml que está en una location diferente. Sin embargo, si hago un git pull va a poner AndroidManifest.xml en un lugar diferente y echa un vistazo a com/original en la parte superior de com/new .

¿Alguna sugerencia de cómo lidiar con esto?

Primero debe reorganizar sus files para que coincidan con el objective (es decir, la estructura actual de Gradle)

  • clone su repository (en cualquier otro lugar, no en su proyecto Android)
  • hacer el git mv relevante, y luego confirmar.
  • agregue su última versión:

     cd /path/to/local/clone git --work-tree=/path/to/gradle/project add . git commit -m "Import local dev" git push 

(Eso versionará cualquier diferencia que haya hecho localmente)

Luego, puede volver a su proyecto Android-gradle y hacer un git pull .

Si la situación es tal que esta es una base de código de Eclipse antigua que está migrando a Android Studio y aún va a seguir utilizando el mismo repository en el futuro, le sugiero que configure el proyecto "a mano" en el estudio de Android . En otras palabras, no use la import automática que mueve los files (fuente, resources, AndroidManifest, etc.) a las ubicaciones pnetworkingeterminadas.

Mantenga todo en sus ubicaciones originales definiendo dónde se encuentran en las definiciones de "compilation" de scripts de compilation gradle. Por ejemplo:

 android { sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } ... } 

Esta podría ser una alternativa más simple.