Outils pour utilisateurs

Outils du site


android

Android

Généralités

Android est un système d'exploitation Open Source pour smartphones et tablettes développé par la société Google. Ce nom “Android” provient du nom de la start-up que Google a racheté en 2005 qui développait à l'époque des OS pour mobiles.

  • fig:Android_logo.png

Des systèmes Android sans Google

Il existe aujourd'hui plusieurs initiatives qui consiste à développer des systèmes d'exploitation basés sur Android sans les composantes google :

Des téléphones sans Android

Qui ne soient pas iOS ni Win$ ! Voir une liste d'OS et téléphones alternatifs ici

Système d'exploitation, réinstallation

Voir la page dédiée à l'installation de LineageOS sur sur téléphone à la place de l'Android fabricant

Desimlocker son téléphone soit même

Utiliser, configurer, libérer son téléphone au quotidien

On peut tout à fait utiliser un téléphone Android sans avoir de compte google :

Magasins d'application Android alternatifs

Magasins alternatifs mais gare aux malwares et virus …

Télécharger des applis du google store sans compte google

Depuis son ordinateur :

Depuis son téléphone :

Pour copier des fichiers du téléphone vers l'ordi, connexion en wifi

./adb pull /sdcard/DCIM/Camera/ /home/b01/Documents/photostels/

Émuler Android sous Linux

Il y a plusieurs options : os dans machine virtuelle, Android Studio “officiel” et des émulateurs, après passage en revue rapide, utilisation de Anbox https://anbox.io/ qui permet d'utiliser des applications à installer “à la main” via adb en ayant préalablement téléchargé le fichier .apk …

Quelques références :

Installation sous Linux debian 9

  1. Il faut tout d'abord installer les modules du noyau : https://docs.anbox.io/userguide/install_kernel_modules.htm voir aussi https://github.com/anbox/anbox-modules
  2. puis installer Anbox via snap, outils de gestion d'application Ubuntu https://docs.anbox.io/userguide/install.html#install-the-anbox-snap

donc d'abord installer snap :

 sudo apt install snapd
 sudo snap install --devmode --beta anbox

Tester

 snap info anbox

Lancer le app manager et anbox en même temps

 /snap/bin$./anbox.appmgr
 adb devices

Installer une appli

 adb install ../Weather\ forecast_v1.62.238_apkpure.com.apk

Au final ça marche avec des applications simples, pas sur que pour des jeux et applis qui ont recours aux périphériques ça tourne bien …

Pour désactiver l'application anbox :

 snap disable anbox
 snap enable anbox

Backup SMS applications préférences wifi et navigateur sans gmail

cd ~/sketchbook/modes/AndroidMode/sdk/platform-tools
./adb devices

liste les devices

mkdir backupb01
./adb root
./adb remount
./adb pull /data/app backupb01/ (applications)
./adb pull /data/data/com.android.providers.telephony/databases/mmssms.db backupb01/ (sms and mms)
./adb pull /storage/sdcard0/00001.vcf backupb01/ (export carnet d'adresses)
+ Browser settings: /data/data/com.android/browser
+ System WiFi Settings: /data/misc/wifi

Restauration

./adb install *.apk (applications)
./adb push backupb01/mmssms.db /data/data/com.android.providers.telephony/databases/mmssms.db

Connexion via wifi (si port usb défaillant) > régler adb via ip dans le téléphone

./adb connect ipdutéléphone

Développement

Communiquer en USB avec son Android sous linux

  • Pour communiquer en USB avec son téléphone, régler sous Linux les règles udev :
  • Pour lister les périphériques usb et voir les références de son téléphone
lsusb
  • Créer un fichier de règles pour les téléphones android
sudo gedit /etc/udev/rules.d/09-android.rules
  • Ajouter ces lignes en adaptant à votre téléphone (selon ce qu'indique la commande “lsusb”)
SUBSYSTEMS="usb", SYSFS{idVendor}="04e8", SYSFS{idProduct}="681d", MODE="0666", OWNER="VOTRE_NOM_de_USER" #pas normal
SUBSYSTEMS="usb", SYSFS{idVendor}="04e8", SYSFS{idProduct}="681e", MODE="0666", OWNER="VOTRE_NOM_de_USER" #normal
SUBSYSTEMS="usb", SYSFS{idVendor}="04e8", SYSFS{idProduct}="681c", MODE="0666", OWNER="VOTRE_NOM_de_USER" #recovery
SUBSYSTEMS="usb", SYSFS{idVendor}="04e8", MODE="0666", OWNER="VOTRE_NOM_de_USER" #tout_type_d-android
  • la dernière ligne doit être suffisante

Régler les problèmes de connexion USB sur Samsung Nexus S Crespo

Il arrive que le téléphone ou la tablette perde la capacité à se connecter en USB (rien dans le lsusb pourtant le téléphone se charge)

Après moutles investigations, des codes secrets permettent de faire afficher un menu secret qui permet de switcher l'USB et le modem dans un autre mode et de rétablir ensuite ce qui arrenge le problème : voir https://blog.vacs.fr/vacs/blogs/post.html?post=2010/12/24/How-to-repair-the-USB-not-detected-problem-on-Android-Samsung-phones

Dial *#7284# or *#0808# and set MTP+ADB USB Setting

ça n'a bien évidemment pas marché sur mon tél, je suis passé par un shell via adb sur tcp/ip (voir plus bas), je me loggue ainsi en root sur le téléphone et tape ensuite :

root@crespo:/ # cat /sys/class/android_usb/android0/functions
mass_storage
root@crespo:/ # echo 0 > /sys/class/android_usb/android0/enable
root@crespo:/ # echo 1 > /sys/class/android_usb/android0/f_acm/instances
root@crespo:/ # echo mtp,acm,adb > /sys/class/android_usb/android0/functions
root@crespo:/ # echo 1 > /sys/class/android_usb/android0/enable
root@crespo:/ # start adbd
root@crespo:/ # echo 0 > /sys/class/android_usb/android0/enable
root@crespo:/ # cat /sys/class/android_usb/android0/functions
mtp,acm,adb
root@crespo:/ # echo mass_storage > /sys/class/android_usb/android0/functions
root@crespo:/ # echo 1 > /sys/class/android_usb/android0/enable
root@crespo:/ # start adbd
root@crespo:/ # reboot

Là, miracle, ça a marché !!!

Installer et utiliser ADB

ADB signifie Android Debug Bridge. C'est un outil qui permet l'accès a la console du téléphone (car Android ressemble fortement à un Linux)

pour lister les appareils

cd ~/sketchbook/modes/AndroidMode/sdk/platform-tools/
./adb devices

pour ouvrir un terminal sur le téléphone

./adb shell

Backup & Restore Android Apps en utilisant ADB : http://jonwestfall.com/2009/08/backup-restore-android-apps-using-adb/ se connecter en wifi (voir réglages développeur pour activer l'option), il faut mettre l'ordi et le tél sur le même réseau wifi

./adb connect 172.31.23.242
./adb root
./adb remount
./adb shell

Copier des fichiers système avec ADB

Il fut déjà générer une paire de clef :

./adb keygen b01key
./adb kill-server

Le téléphone doit demander de valider la clef proposée soit temporairement soit pour tjs

Exécuter adb en tant que root, remonter la partion :

./adb root
./adb remount
./adb push busybox /system/bin

I run into some devices that you need to remount with mount -o remount,rw /system and not with adb remount.

Ensuite copier les fichiers :

./adb push source destination

Log avec ADB

adb logcat
adb logcat -d > androilog.txt

Plus d'options : https://logmatic.io/blog/a-how-to-guide-to-debugging-with-android-logcat/ https://forum.xda-developers.com/showthread.php?t=1726238 et https://developer.android.com/studio/command-line/logcat.html

Debug

  1. Open the dialer of your phone and type *#*#4636#*#*
  2. Dial this number and wait for the results.
  3. You will get a testing menu on your device screen, Click on phone/device information from this menu.
  4. Run the ping test and then select GSM Auto (PRL) from the drop down list.
  5. Tap on Turn Off Radio

Lister les applications installées

adb shell pm list packages

Désactiver le service NFC en carafe

Pas nécessaire ? :

ls -al /data/data/com.android.nfc
lrwxrwxrwx install  install           2018-03-25 16:37 lib -> /data/app-lib/com.android.nfc
rm /data/data/com.android.nfc/lib

Développer des programmes avec Processing Android

Installer /e/ système sur Fairphone 3

Voir la page dédiée au Fairphone

android.txt · Dernière modification: 2021/05/06 18:06 de Benjamin Labomedia