rdp-cli

Piloter un téléphone Android avec un agent IA par USB ou Wi-Fi

Connectez Android 12 ou ultérieur, capturez l’écran, saisissez du texte, transférez un fichier et reprenez la main dans la même session rdp-cli.

La base de compatibilité est Android 12 ou ultérieur. Le téléphone vérifié est un Google Pixel 3 sous Android 12 ; cela ne signifie pas que tous les fabricants et versions ultérieures ont été testés.

Télécharger · Bien démarrer

Préparer le téléphone

  1. Activez les options pour développeurs et le débogage USB, branchez un câble de données et confirmez l’autorisation sur le téléphone déverrouillé.
  2. En Wi-Fi, activez le débogage sans fil et utilisez le code et le port d’association affichés. Le port de connexion est distinct ; aucun câble USB n’est nécessaire.
  3. Sous Windows, la connexion USB nécessite un pilote WinUSB adapté au téléphone et à l’architecture de l’ordinateur, y compris ARM64. rdp-cli n’installe pas de pilotes et ne ferme pas les autres outils de débogage. Sous Linux (x86_64 / ARM64), donnez à votre utilisateur habituel l’accès au périphérique USB du téléphone au moyen d’une règle udev ou d’un groupe de périphériques adapté, puis exécutez les commandes ci-dessous dans Bash. Lancez rdp-cli sans sudo. macOS utilise l’interface USB du système.

Remplacez DEVICE_SERIAL, SESSION, OBSERVATION, PHONE_IP et les deux ports par les valeurs réelles. Conservez data.session de connect et utilisez data.observation de chaque capture. Remplacez wifi:PHONE_GUID par l’identifiant wifi: renvoyé. Choisissez un nom pour PHONE_REF afin d’enregistrer l’association sur cet ordinateur. Saisissez le code actuel à six chiffres à l’invite ; la commande le transmet par l’entrée standard.

Windows PowerShell: rdp-cli → .\rdp-cli.exe.

Détecter et connecter

Choisissez explicitement l’identifiant détecté. La connexion n’ouvre pas de fenêtre et ne lance pas l’audio.

rdp-cli android devices
rdp-cli connect --protocol adb --device usb:DEVICE_SERIAL --transport usb
rdp-cli screenshot --session SESSION --out before.png

Réaliser une petite tâche

Ouvrez une application de notes sur le téléphone autorisé et créez une note vide. Examinez before.png, remplacez X et Y par la position réelle du champ et touchez-le. Vérifiez focused.png et utilisez son data.observation comme NEW_OBSERVATION avant de coller. Contrôlez le texte dans result.png. Aucun visualiseur n’est nécessaire sur l’ordinateur.

rdp-cli android touch --session SESSION --kind tap --x X --y Y --observation OBSERVATION
rdp-cli screenshot --session SESSION --out focused.png

Utilisez la méthode explicite du presse-papiers pour Unicode ou le texte sur plusieurs lignes. Elle remplace le presse-papiers du téléphone sans le synchroniser avec l’ordinateur. Remplacez le texte exemple par votre note. Après une rotation ou une observation expirée, capturez et vérifiez à nouveau.

rdp-cli android text --session SESSION --method clipboard --text "Tâche distante terminée." --observation NEW_OBSERVATION
rdp-cli screenshot --session SESSION --out result.png

Fichiers et dossiers

Créez un note.txt local avec votre texte de test. Envoyez-le, conservez data.transfer_id comme UPLOAD_TRANSFER et attendez completed. Téléchargez-le sous un autre nom local, conservez le nouvel ID comme DOWNLOAD_TRANSFER et attendez encore completed avant de comparer. Les chemins désignent le dossier de session du téléphone, pas les dossiers privés des applications. Les noms existants ne sont pas écrasés par défaut.

rdp-cli files upload --session SESSION --local ./note.txt --path note.txt
rdp-cli files status --session SESSION --transfer-id UPLOAD_TRANSFER
rdp-cli files download --session SESSION --path note.txt --local ./note-returned.txt
rdp-cli files status --session SESSION --transfer-id DOWNLOAD_TRANSFER

Connexion sans fil

Le Wi-Fi est une alternative à l’USB. Si ce téléphone possède déjà une session USB, exécutez d’abord disconnect --session SESSION. Associez-le puis connectez-vous avec l’identifiant renvoyé et le port de connexion actuel. Enregistrez le nouveau data.session et reprenez une capture avant toute saisie.

En Wi-Fi, activez le débogage sans fil et utilisez le code et le port d’association affichés. Le port de connexion est distinct ; aucun câble USB n’est nécessaire.

Connecter un téléphone Android

macOS / Linux · Bash

printf '%s' 'Code d’association: '
IFS= read -r -s rdp_pair_code
printf '\n'
printf '%s' "$rdp_pair_code" | rdp-cli android pair --host PHONE_IP --port PAIR_PORT --code-stdin --save-device-auth PHONE_REF
unset rdp_pair_code
rdp-cli connect --protocol adb --device wifi:PHONE_GUID --transport wifi --host PHONE_IP --port CONNECT_PORT --device-auth-ref PHONE_REF

Windows · PowerShell

$pairingCode = Read-Host 'Code d’association' -AsSecureString
try {
  [System.Net.NetworkCredential]::new('', $pairingCode).Password |
    .\rdp-cli.exe android pair --host PHONE_IP --port PAIR_PORT --code-stdin --save-device-auth PHONE_REF
} finally {
  $pairingCode.Dispose()
}
.\rdp-cli.exe connect --protocol adb --device wifi:PHONE_GUID --transport wifi --host PHONE_IP --port CONNECT_PORT --device-auth-ref PHONE_REF

Partager une session

Agent, fenêtre native et navigateurs autorisés partagent une session persistante. Mettez en pause ou prenez le contrôle au besoin.

rdp-cli watch --session SESSION --viewer window
rdp-cli watch --session SESSION --viewer web

Observer et prendre la main

À savoir

Si la liste USB est vide, vérifiez le câble de données et les permissions. ADB_DEVICE_BUSY signifie qu’un autre outil de débogage utilise le téléphone : fermez cette connexion explicitement. En Wi-Fi, vérifiez le port de connexion actuel et l’identité enregistrée, sans utiliser le port de couplage à sa place. La réussite d’une entrée confirme son envoi ; vérifiez le résultat avec une nouvelle capture ou le fichier terminé.

  • La session contrôle l’écran existant du téléphone. Les gestes physiques et les autres outils de débogage peuvent toujours l’affecter.
  • Le collage Unicode modifie explicitement le presse-papiers du téléphone. Il ne lit ni ne synchronise celui de l’ordinateur.
  • Le son des applications nécessite la confirmation du partage système et respecte leurs restrictions de capture. Le microphone du téléphone est une source distincte ; le microphone de l’ordinateur n’est pas injecté dans les applications.
  • L’audio est désactivé au départ et ne reprend pas après reconnexion. Les composants temporaires sont déployés uniquement sur le téléphone autorisé, sans root ni remplacement du clavier.

Terminer

Coupez l’audio et déconnectez. Les fichiers terminés et les applications de l’utilisateur restent sur le téléphone.

rdp-cli audio android --session SESSION --source off
rdp-cli disconnect --session SESSION

Fonctions · Référence des commandes