2 votes

Tasker pour désinstaller des applications de manière programmatique

Je voudrais configurer un profil de tasker pour vérifier à une heure prédéterminée toutes les applications qui ne sont pas sur ma liste approuvée (BaselineApps.txt) et les désinstaller. Je suis un novice en matière de scripts shell et de tasker. C'est ce que j'ai obtenu jusqu'à présent, ce n'est peut-être pas la façon la plus efficace de le faire.

  • J'exécute la commande suivante via le plugin Termux Task.

    pm list packages >/storage/emulated/0/Apps.txt
    diff --unchanged-line-format= --old-line-format= --new-line-format='%L' /storage/emulated/0/BaselineApps.txt /storage/emulated/0/Apps.txt | sed 's/^\[^:\]\*://' >/storage/emulated/0/NewApps.txt
  • Lire le fichier NewApps.txt dans la variable %Apps

  • ArraySet %Apps valeur %Apps

  • Pour chaque %eachapp dans %Apps()

  • Exécuter Shell pm uninstall %eachapp

  • Fin pour

La plupart du temps, cela fonctionne, sauf qu'il y a parfois des erreurs. Quelqu'un peut-il m'aider ?

1voto

user218076 Points 294

J'ai donc résolu mon problème. J'ai fait une mise à jour vers Android Nougat. Pm list packages est obsolète. La commande appropriée est pm cmd package list packages.

Voici ma configuration :

    Diff
    A1: Run Shell [ Command:cmd package list packages Timeout (Seconds):0 Use Root:On Store Output In:%tempapps Store Errors In: Store Result In: ] 
    A2: Write File [ File:Apps.txt Text:%tempapps Append:Off Add Newline:Off ] 
    A3: Termux [ Configuration:Execute ~/.termux/tasker/DiffApps.txt  Timeout (Seconds):0 ] 
    A4: Wait [ MS:250 Seconds:0 Minutes:0 Hours:0 Days:0 ] 
    A5: Read File [ File:NewApps.txt To Var:%Apps ] 
    A6: Array Set [ Variable Array:%Apps Values:%Apps Splitter: ] 
    A7: For [ Variable:%eachapp Items:%Apps() ] 
    A8: Flash [ Text:%eachapp Long:On ] 
    A9: Run Shell [ Command:pm uninstall %eachapp Timeout (Seconds):0 Use Root:On Store Output In: Store Errors In: Store Result In: ] 
    A10: End For 
    A11: Variable Clear [ Name:apps* Pattern Matching:On Local Variables Only:Off ]

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X