Logiciels

11 articles

Comment exécuter deux instances d'Android Studio sur macOS

Si vous êtes développeur Android et que vous gérez à la fois des projets professionnels et personnels, vous avez probablement rencontré ce dilemme : vous voulez expérimenter de nouveaux plugins, tester des fonctionnalités bêta ou essayer différentes configurations sur vos projets personnels, mais vous ne pouvez pas risquer de casser votre configuration stable et prête pour la production.

La solution ? Exécuter deux copies indépendantes d'Android Studio sur le même Mac. Ce guide vous accompagne dans la création d'une instance personnalisée complètement isolée à côté de votre version habituelle, avec des configurations, caches et paramètres séparés.

Configuration étape par étape

1️⃣ Copiez le bundle Android Studio, afin de mettre à jour sa configuration

Tout d'abord, créez une copie de votre application Android Studio existante. Ici, j'avais déjà installé manuellement une autre copie, mais vous pourriez directement dupliquer votre installation originale, qui devrait se trouver dans /Applications/Android\ Studio.app

Ajustez les chemins pour correspondre à votre emplacement d'installation réel.

ORIG="$HOME/Applications/Android Studio Perso/Android Studio Perso.app"
COPY="$HOME/Applications/Android Studio Perso/Android Studio Perso-copy.app"

cp -R "$ORIG" "$COPY"

2️⃣ Supprimez les attributs de quarantaine

macOS marque les applications téléchargées ou copiées avec un attribut de quarantaine qui peut empêcher leur lancement correct :

xattr -dr com.apple.quarantine "$COPY"

3️⃣ Effacez les attributs immuables

Certaines installations peuvent avoir des attributs immuables définis :

chflags -R nouchg "$COPY"

4️⃣ Configurez des répertoires séparés

Trouvez et éditez le fichier idea.properties à l'intérieur de l'application copiée :

FILE=$(find "$COPY" -type f -name idea.properties)
vi "$FILE"

Décommentez ces quatre lignes, et modifiez les deux premières pour pointer vers votre répertoire de configuration personnel :

idea.config.path=${user.home}/.AndroidStudioPerso/config
idea.system.path=${user.home}/.AndroidStudioPerso/system
idea.plugins.path=${idea.config.path}/plugins
idea.log.path=${idea.system.path}/log

Sauvegardez et quittez. Cela garantit que votre instance personnalisée stocke tous ses paramètres, caches et journaux séparément de votre version régulière.

5️⃣ Nettoyez la liste des projets récents (optionnel)

Supprimez le fichier de projets récents mis en cache pour repartir à zéro :

rm -f "$HOME/.AndroidStudioPerso/config/options/recentProjects.xml"

6️⃣ Lancez la nouvelle instance

Ouvrez votre application copiée :

open "$COPY"

Au premier lancement, macOS peut afficher une fenêtre de sécurité. Cliquez sur Annuler, puis allez dans Paramètres Système > Confidentialité et Sécurité et autorisez l'application à s'exécuter.

Le popup de sécurité empêchant l'ouverture de la copie

Autorisez la copie de Android Studio dans les options de sécurité

7️⃣ (Optionnel) Écrasez votre copie précédente

Si vous avez dupliqué une précédente installation personnalisée :

rm -rf "$ORIG"
mv "$COPY" "$ORIG"

Les deux versions apparaissent désormais dans la recherche

Comment rapidement et facilement monter un disque USB avec un compte utilisateur en ligne de commande

Pour monter mon disque USB, j'utilisais le traditionnel sudo mount /dev/sdXY /chemin/de/destination. Mais parce que je le montais en tant qu'administrateur, je devais préfixer chaque opération avec sudo. Alors comment le monter avec un compte utilisateur ?

Simplement avec l'aide de l'utilitaire udisks ($ sudo pacman -S udisks2), qui est notamment utilisé par gvfs et divers gestionnaires de fichiers :

$ udisks --mount /dev/sdd1
Mounted /org/freedesktop/UDisks/devices/sdd1 at /media/KINGSTON

Pour trouver votre disque et la partition à monter :

$ sudo fdisk -l

Maintenant je peux exécuter cp, mv et toutes mes opérations quotidiennes sur /media/KINGSTON sans avoir à les préfixer avec sudo.


[EN] How to mount from command line like the Nautilus does?

[PCManFM] Unable to find or create trash directory

Cette erreur est survenue en essayant de mettre des fichiers situés sur un disque secondaire dans la corbeille. Ce disque est monté automatiquement au démarrage du système, via le fichier /etc/fstab.

Pour résoudre ce problème, j'ai manuellement créé un dossier caché .Trash-1000 à la racine du disque, et en ai donné les droits à mon utilisateur:

sudo mkdir /chemin-du-disque/.Trash-1000
sudo chown votre-nom-d-utilisateur .Trash-1000

1000 est le uid de mon utilisateur. C'est la valeur par défaut mais vous pouvez vérifier le vôtre avec la commande id:

$ id                                               
uid=1000(didier) gid=100(users) groups=100(users)[...]

[Bluetooth] Failed to connect: org.bluez.Error.Failed

Ce message d'erreur est apparu après avoir physiquement retiré puis reconnecté mon dongle Bluetooth. Le coupable était PulseAudio, qui avait besoin d'être redémarré :

$ pulseaudio -k
# réexécuter la commande bluetoothctl (peut-être pas obligatoire)
$ pulseaudio --start

Courte vidéo expliquant comment visualiser rapidement un texte avec différentes polices de caractères dans GIMP.