Tutoriel [script] Mes Zapplis: réinstallation silencieuse de nos applis

  • Auteur de la discussion hypo59
  • Date de début
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #1
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !




Après le flash d'une ROM (officielle ou custom) avec effacement des données (applis, sms, contacts, photos, etc.), il est laborieux de passer par la phase de réinstallation de toutes les applications que nous avions: il faut les chercher puis les télécharger depuis le Playstore (ce qui nécessite une connection internet, en wifi ou via les données mobiles), et cela prend beaucoup de temps. Pour celles et ceux qui auraient sauvegardé leurs applis avant l'effacement de leur données, cela pourrait paraître plus rapide, mais il n'en n'est rien, car pour chaque installation, il faut la valider...

Bref, c'est long, pénible, ennuyeux et on s'en passerait volontiers !

Comment faciliter cette phase ? Le script "Mes Zapplis" que je nous propose installera l'ensemble de nos applis (préalablement sauvegardées dans un dossier) sans nous demander quoi que ce soit: on appuie sur le bouton puis on part boire un café !!!




Un maxi merci à et pour votre aide: implication, tests, retours :super: :super: :super: et surtout patience et esprit de partage :wink:




  • un téléphone/tablette rooté(e), car le script a besoin de l'accés "su" pour fonctionner
  • BusyBox installé: version 1.2x
  • sauvegarde de nos applis sous forme de fichier .apk dans un dossier, sans aucun sous dossier
  • un émulateur de terminal installé

Des liens de téléchargement se trouvent en fin du tuto.




Pour installer le script (qui est un fichier texte avec des commandes shell) nous avons le choix de:
  • copier le script dans le dossier /system/bin, via un explorateur de fichier ou via un émulateur de terminal, puis lui donner les droits 0755 pour qu'il devienne éxécutable (saisir "chmod 0755" via un émulateur de terminal); l'accés root est requis pour ces opérations; si l'opération renvoit une erreur "Read-only", il faut remonter la partition /system en mode Lecture/Ecriture RW (Read/Write): "mount -o remount, rw /system", puis copie et droits d'éxécution à mz, puis retour au mode ReadOnly: "mount -o remount, ro /system"
  • via un recovery custom (Philz Touch, TWRP), flasher un zip d'installation qui se charge de copier le script dans le dossier /system/bin puis de lui affecter les droits d'éxécution

Des liens de téléchargement se trouvent en fin du tuto.




Maintenant installé, comment utiliser ce script ? Rien de plus simple, suivons les étapes ci-dessous:
  • via l'émulateur de terminal préalablement installé, naviguer jusqu'au dossier où sont stockés les fichiers .apk (par exemple: /extSdCard/App_Backup_Restore); cela s'effectue avec la commande "cd" (abréviation anglaise de "Change Directory": Changement de Dossier) suivie du nom du dossier, par exemple: cd /extSdCard/App_Backup_Restore
  • puis saisir la commande "su" pour obtenir les droits root (nécessaire pour que les applis s'installent seules sans notre intervention)
  • et pour finir, saisir le nom du script "mz" (qui n'est autre que l'abréviation de "Mes Zapplis")

Le processus démarre alors:
  • vérification de l'accès root/su
  • vérification de la présence de BusyBox
  • vérification de la présence de fichiers .apk dans le dossier
  • affichage du nombre de fichiers .apk trouvés dans le dossier
  • installation des applis, l'une après l'autre; lorsque l'installation d'une appli est terminée, un message affiche le succès ou l'échec de l'opération, puis le script passe à l'installation de l'appli suivante

C'est à partir de ce moment que nous pouvons apprécier d'aller boire un bon café, si le nombre des applis à installer est conséquent !

En cas de besoin, un fichier journal est créé par le script, localisé dans le dossier contenant les fichiers .apk, et se nommant "MesZapplis_[jj-mm-aaaa_hh-mm].log"; ex.: MesZapplis_16-03-2016_17-15.log. Ce journal contient les informations précisent de l'ensemble du processus d'installation des applis. C'est un simple fichier texte. Si vous rencontrer un problème, faites un copier-coller de son contenu puis postez-le.

Testé avec succès sur Galaxy S4 i9505 avec:
  • KitKat 4.4.4 (CM11 Nightly du 20-03-2016)
  • Lollipop 5.0.1 (PDA XXUHOL4, custom Rom Imperium Rom v13.0)
  • MarshMallow 6.0.1 (Optimized CyanogenMod 13.0)
  • BusyBox 1.2x
  • Terminal Emulator for Android v1.0.70 et Material Terminal v2.0.3

Testé avec succès sur Galaxy Tab SM-T230 sous KitKat 4.4.2 officielle.

Testé également avec succès sur Z5 sous MarshMallow par , et sur Honor 7 par



Vérifications et installations:
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !


Résumé:
S'il vous plaît, Connexion ou S'inscrire pour voir le contenu ou les urls !









v1.32 - 07/04/2016
  • correctif pour la recherche de BusyBox
v1.31 - 01/04/2016
  • recherche de BusyBox v1.2x
v1.3 - 26/03/2016
  • extension de la recherche de BusyBox aux dossiers de la variable d'environnement $PATH
v1.1 - 23/03/2016
v1.0 - 23/03/2016
 
SkelettSkelter

SkelettSkelter

Administrateur
Inscrit
12 Mai 2013
Messages
13 464
Points
113
  • #2
Dès maintenant, avant même d'attendre les captures d'écran, je te dis qu'un simple mais énorme merci ! :D

Perso, cela me sera bien utile pour gagner un peu de temps :wink:
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #3
Merci skelett ! Heureux que ça puisse servir ! Dès que tu as testé pourras-tu poster pour indiquer le bon ou mauvais fonctionnement ?
 
SkelettSkelter

SkelettSkelter

Administrateur
Inscrit
12 Mai 2013
Messages
13 464
Points
113
  • #4
Je vais tester avec quelques appli que je vais désinstaller et réinstaller via le script :wink:
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #5
OK merci !
 
SkelettSkelter

SkelettSkelter

Administrateur
Inscrit
12 Mai 2013
Messages
13 464
Points
113
  • #6
Bon j'ai tout testé et la seule chose que je peux dire, c'est que c'est vraiment un délire de se "balader" dans les dossiers avec MM via le terminal :lol:

Bref mis à part cela, malgré avoir mis les droits en 755, il n'y a aucun moyen de lancer ton script. Enfin si, il se lance, mais il ne détecte pas Busybox. Donc j'ai regardé vite fait, et j'ai remarqué que Busybox s'installait par défaut dans /su/xbin. J'ai tenté de déplacer ton script là-dedans, mais pas moyen, j'ai un refus total de plusieurs gestionnaires root. Tant pis. Du coup, j'ai réinstallé Busybox dans /system/bin mais le résultat est identique : "Busybox : Introuvable" :-|

Je reprécise que je tourne sur Marshmallow.
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #7
OK. Merci de ton retour. Quelle version de Busybox as-tu ?
 
SkelettSkelter

SkelettSkelter

Administrateur
Inscrit
12 Mai 2013
Messages
13 464
Points
113
  • #8
La 1.24.1 :-|
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #9
OK. Essaies en le déplaçant dans /system/xbin ou /sbin (le script parcourt ces dossiers à la recherche du binaire busybox)

Edit: si ça ne fonctionne pas je vais rajouter le chemin /su/xbin à mon script
 
SkelettSkelter

SkelettSkelter

Administrateur
Inscrit
12 Mai 2013
Messages
13 464
Points
113
  • #10
Idem. Soit je n'arrive pas à placer un fichier (et donc ton script, entre autre), soit "Busybox : Introuvable" (d'ailleurs, ayant vu ton edit entre temps, je me suis permis de rajouter le chemin pour tester).

Mais je ne pense pas que cela vienne de ton script. Dans le doute, je testerais ce soir sur un S3 tournant sur CM13 où je suis sûr que tout est parfait, et je te dirais si tout est nickel... ou pas :wink:
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #11
OK. Dans ton emulateur de terminal, saisi les commandes suivantes:

su

find / -name busybox -maxdepth 3

Et postes ce que ça renvoie (normalement les chemins où se trouve busybox)
 
T

Tardis

  • #12
Salut Hypo :hello:

Merci pour le tuto. Tu es pardonné :mrgreen: :amen:
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #13
Ouf ! Aller un verre au bar !
 
A

Anonymous

  • #14
Re: Re : [script] Mes Zapplis: réinstallation silencieuse de nos applis

Hello et merci hypo. Dès que possible je vais tester tout ça, bravo. .[emoji6] [emoji106]
 
SkelettSkelter

SkelettSkelter

Administrateur
Inscrit
12 Mai 2013
Messages
13 464
Points
113
  • #15
Voici ce qu'il me met :

Code:
S'il vous plaît, Connexion ou S'inscrire to view codes content!

Et là, tu vas me dire que mon Busybox est installé dans /su/xbin, et c'est effectivement le cas :smile:

Pour information, 3563-6630 est ma carte SD. Depuis le passage sous MM, elle est identifiée de cette manière par le téléphone et je peux garantir que la gestion de la SD en tant que stockage externe sur Marshmallow est... Horrible, pour rester très poli.
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #16
dls7882 a dit:
Hello et merci hypo. Dès que possible je vais tester tout ça, bravo. .[emoji6] [emoji106]
Merci ! J'attends de tes nouvelles pour le test.

skelett a dit:
Voici ce qu'il me met :

Code:
S'il vous plaît, Connexion ou S'inscrire to view codes content!

Et là, tu vas me dire que mon Busybox est installé dans /su/xbin, et c'est effectivement le cas [emoji2]

Pour information, 3563-6630 est ma carte SD. Depuis le passage sous MM, elle est identifié de cette manière par le téléphone et je peux garantir que la gestion de la SD en tant que stockage externe sur Marshmallow est... Horrible, pour rester très poli.
Bon donc il est "trouvable". Je vais modifier le script pour élargir les dossiers de recherche de busybox. Je ne savais pas que MM modifiait la structure du système.
 
SkelettSkelter

SkelettSkelter

Administrateur
Inscrit
12 Mai 2013
Messages
13 464
Points
113
  • #17
Ça à l'air car sur mon S3, tout fonctionne parfaitement bien, donc c'est plutôt une bonne chose :wink:
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #18
Ah ça c'est chouette comme retour ! Merci skelettor ! Dès que j'ai un peu de temps, je modifie le script pour qu'il fonctionne sous MM. Puis tu me diras si c'est OK ou pas: tu veux bien ?
 
SkelettSkelter

SkelettSkelter

Administrateur
Inscrit
12 Mai 2013
Messages
13 464
Points
113
  • #19
Avec plaisir :D

Et oui bien sûr, bien volontier même :wink:
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #20
Nickel ! Merci à toi !

Edit 1: modification du script OK, lien de DL mis à jour.

Edit 2: @skelett: serais-tu OK pour que j'indique dans mon tuto que ça fonctionne pour le s3 (en te citant comme testeur) ? Si oui, indiques-moi les mêmes infos que celles que j'ai postées à la fin de la partie "utilisation" de mon tuto
 
Texas2607

Texas2607

Administrateur
Inscrit
5 Février 2012
Messages
14 424
Points
113
  • #21
Hello
A tester effectivement, pas possible pour moi avant ce week-end mais je te dirais ça :wink:
Mais quelle différence avec TB ?
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #22
Merci Fred ! TB c'est pour Titanium Backup ?

Si c'est le cas, je ne sais pas comment TB fonctionne pour restaurer les applis sauvegardées, mais ce que j'ai proposé n'est pas une restauration (une simple copie de l'apk dans le dossier /data/app) mais bien une installation, via le binaire pm (Package Manager).

La différence entre copie et installation est importante car c'est ce qui fait que le système est bien renseigné de cette installation, notamment en attribuant un ID unique à l'appli installée, ceci permettant de faire fonctionner avec stabilité les données liées à l'appli.

A l'inverse, restaurer des applis sauvegardées en ne faisant qu'une simple copie (comme le fait par exemple "zip me" via des zip à flasher en recovery custom) rend l'utilisation de l'appli instable (je l'ai vérifié dernièrement et c'est ce qui m'a inspiré pour le script).

En espérant avoir répondu à ta question ;) je te souhaite une bonne nuit mon Fred !
 
SkelettSkelter

SkelettSkelter

Administrateur
Inscrit
12 Mai 2013
Messages
13 464
Points
113
  • #23
:hello:

Alors pour que cela fonctionne sur le S3 (sous CM13, je précise encore), j'ai procédé exactement de la même manière que toi, à une exception prête :

J'ai du installer Busybox dans /system/bin.

Le délire avec la carte SD est toujours présent, et j'ai surtout remarqué qu'en tant que stockage externe, il n'y a vraiment aucun moyen d'y accéder via le terminal "Permission denied" étant plus têtu que moi, apparemment (peut-être parce que le terminal n'est pas à jour pour MM ? Je vais essayer d'en trouver un, en tester plusieurs).
En revanche, cela fonctionne parfaitement bien si les apk se trouvent directement sur la mémoire interne (sur la racine ou dans un dossier, qu'importe), ou bien sur la SD à la seule condition qu'elle est été formatée pour étendre l'espace de stockage (la fusion possible entre la mémoire interne et externe de MM, quoi).

Je vais tester ton script mis à jour sur mon Z5 et je reviendrais vers toi :wink:
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #24
OK merci de ton retour. MM n'a pas l'air facile à prendre en charge en terme d'accès au système. Ton z5 est sous MM aussi ?

En fonction de tes tests je modifierai le tuto et le script pour MM.
 
SkelettSkelter

SkelettSkelter

Administrateur
Inscrit
12 Mai 2013
Messages
13 464
Points
113
  • #25
Oui mon Z5 est sous MM.

Et ton script reste encore très têtu, le résultat est toujours le même :-| Pourtant, j'ai essayé toutes les combi' possibles.
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #26
Tu as utilisé la maj que j'ai postée ?
 
SkelettSkelter

SkelettSkelter

Administrateur
Inscrit
12 Mai 2013
Messages
13 464
Points
113
  • #27
Oui bien sûr.

Mais j'ai une remarque : Lorsque j'essaye de lancer ton script, il se copie dans le dossier où se trouve Busybox. Donc je suppose à partir de ça qu'il fonctionne bien, et que la recherche est bien effectuée.

Voici les emplacements :

Busybox : /su/xbin
mz : /system/bin

Dès que je lance ton script via le terminal, je me retrouve avec ça :

Busybox : /su/xbin
mz : /system/bin ET /su/xbin

Même en le dégageant de /system/bin, ça ne fonctionne pas.
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #28
OK. Va falloir potasser !

Edit 1
- script mis à jour pour aller chercher BusyBox via la variable d'environnement PATH, ce qui devrait le rendre plus universel que précédemment; nouvelle mise à jour à venir
- tests effectués avec succès avec BusyBox versions 1.23.2-jrummy, 1.24.1 et 1.24.1-meefik sous lollipop 5.0.1, et 1.25.0 dorimanx sous marshmallow 6.01
- tuto mis à jour en partie notamment par l'ajout des captures d'écrans
- tests effectués avec succès sous MM avec CM13 Optimized (JDCTeam)

Edit 2
Je suis en train de mettre à jour le script, et de tester sous Kitkat. Dès que j'en ai fini je posterai la nouvelle version, ainsi que le ZIP d'installation à flasher
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #29
Mise à jour du script et du tuto
 
SkelettSkelter

SkelettSkelter

Administrateur
Inscrit
12 Mai 2013
Messages
13 464
Points
113
  • #30
Yes !

Je m'y attèle sur le Z5 dès ce week-end !

Merci à toi :super:
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #31
Nickel ! Merci !
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #32
Je viens enfin de trouver l'erreur pour la recherche de busybox: la boucle s'arrête au mauvais moment... Je rectifie puis poste la mise à jour ce soir.

EDIT: mise à jour en v1.32
 
tiboo

tiboo

Membre VIP
Inscrit
21 Juin 2011
Messages
8 700
Points
38
  • #33
Salut hypo,

merci pour la rectification et je re-confirme ça fonctionne :)
 
hypo59

hypo59

Membre
Inscrit
21 Septembre 2013
Messages
2 671
Points
38
  • #34
Avec plaisir ! Et merci pour le retour !
 

Sujets en relation

Haut Bas