Comment changer la version Android dans un compte local?

J'ai téléchargé l'arbre complet avec la commande suivante:

repo init -u https://android.googlesource.com/platform/manifest repo sync -j8 

Après avoir synchronisé avec succès, je souhaite changer l'arbre de travail sur Android 2.3.7. Vous voyez que je n'ai pas spécifié de branche avec le paramètre "-b" lorsque "repo init". Je suppose donc que toutes les informations de balise devraient être téléchargées et je peux facilement passer à Android 2.3.7 avec la commande suivante:

  • La vue Android disparaît lorsqu'on part en dehors des parents
  • Fusion de la fusion Android Studio 6.0
  • RecyclerView StaggeredGridLayoutManager réordonnant le problème
  • Android - Gardez l'intention ajoutée précédemment en cas d'augmentation de l'activité parentale
  • Le remplacement de fragments se déclenche surQueryTextChange sur searchview
  • Gestion des connexions SQLite dans Android
  •  repo forall -c git checkout android-2.3.7_r1 

    Mais il produit de nombreuses erreurs comme:

     error: pathspec 'android-2.3.7_r1' did not match any file(s) known to git. 

    Alors, comment puis-je passer à Android 2.3.7 sans "repo init -b android-2.3.7_r1" et "repo sync" à nouveau?

    2 Solutions collect form web for “Comment changer la version Android dans un compte local?”

    Vous ne pouvez pas résoudre ce problème en utilisant un compte de repo forall .

    Supposons avec certitude que votre arbre Android actuel est propre – aucun changement local ou aucun engagement, c'est-à-dire que l' repo status ne montre rien.

    Pour changer correctement la version Android, tout ce que vous devez modifier est une branche pour votre référentiel de manifeste, comme ceci:

     cd $ANDROID_ROOT cd .repo/manifests git branch -av # see all available branches on origin # choose one you want, check out to it: git checkout origin/<my_selected_android_version> 

    Notez que la commande ci-dessus créera un HEAD détaché dans un compte-rendu manifeste. Si vous n'aimez pas cela, ajoutez --track (ou -t pour abréger) pour créer une branche de suivi locale:

     git checkout --track origin/<my_selected_android_version> 

    MISE À JOUR 2014/09/05 : Pour la version la plus récente de repo, git checkout ... ci-dessus ne fonctionnera pas comme précédemment, car la prochaine repo sync renverra le référentiel manifeste à la branche qui a été utilisé au repo init .

    Mais cela signifie aussi qu'il existe maintenant un moyen beaucoup plus simple de faire ce que vous voulez, à savoir:

     repo init -b <my_selected_android_version> 

    Une telle repo init sélective avec -b (sans -u ) ne mettra en branle la branche manifestée et ne touchera pas votre arbre.

    Maintenant, il suffit de le synchroniser:

     repo sync -j8 

    Et quelque temps plus tard, votre arbre Android passera à une autre version.

    La vitesse de cette opération est principalement déterminée par la quantité de fichier de défaut default.xml qui diffère entre les anciennes et les nouvelles versions d'Android, car si un nouveau dépôt GIT a été ajouté dans un nouveau manifeste, il passera du temps à le cloner. Et si un dépôt a été supprimé, s'il en résulterait le cas.

    Mais, dans l'ensemble, cette méthode est encore beaucoup plus rapide que l'initialisation d'un nouvel arbre Android à partir de zéro.

    Si la branche dans laquelle vous vous trouvez et la branche à laquelle vous allez vous avez le même fichier manifest.xml, vous pouvez utiliser les commandes suivantes pour effectuer cette opération.

    Repo forall -c git fetch auxp –tags repo forall -c git checkout -b john5.1.1_r14_api22 android-5.1.1_r14

    Voir aussi les détails dans http://johnliao52.github.io/2016/03/27/git-repo-skills.html

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.