Android

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

Ce système d'exploitation basé sur Android enlève toutes les dépendances à Google. Le marché d'application libre F-Droid permet d'installer des apllis sans compte google et on y trouve plein de bonheurs !

Commencer par faire une sauvegarde !

  • Ses contacts
  • Ses SMS
  • Signets / Bookmarks + profil firefox
  • Applications payantes (TouchOSC)
  • Conversations dans what's app
  • Billets de train dans appli
  • Ses photos, vidéos, musiques et autres fichiers
  • Ses clefs éventuelles (Riot par exemple)
    • Clef authentification à 2 facteurs (Steam, google, ubisoft origin, github)

Installer LineageOS sur son téléphone à la place de l'Android constructeur

fig:Flash lineage.jpg fig:Demmarage lineage.png fig:Flask ok sita.jpg

Le projet LineageOS remplace Cyanogenmod désormais obsolète

Installer un custom Recovery TWRP
adb install Official TWRP App_v1.15_apkpure.com.apk

TWRP-Tablet-Home-Screenb01.png TWRP-Tablet-Home-Screenb01.png

Installer un custom Recovery TWRP à la main avec fastboot

  1. télécharger l'image TWRP corresponte à l'appareil et à la ROM voulue https://twrp.me/Devices/
  2. éteindre la tablette / téléphone
  3. redémarrer en mode recovery (volume up + power > lacher pôwer quand logo)
  4. en mode recovery, choisir “reboot to bootloader” > le logo reste fixe
  5. executer ensuite :
fastboot oem unlock
fastboot flash recovery twrp-tb2-x30f.img
fastboot reboot-bootloader  

Pour redémarrer en mode TWRP recovery : volume up + power, lacher power quand logo

**Installer ensuite la ROM custom**
  1. Download and transfer the Lineageos ROM and Gapps for linage os you wish to flash to your device’s storage.
  2. Boot your device into TWRP recovery.
  3. Select “Wipe” from TWRP main menu and do a “Swipe to Factory Reset” on the bottom of screen.
    1. └ Note: This will factory reset your device. If your custom ROM doesn’t require a factory reset, then simply skip this step.

wipe9.png wipe9.png

  1. Go back to TWRP main menu, tap on “Install” and select the Lineage os ROM .zip file and gapps for lineage os that you transferred to your device in Step 1.
  2. After selecting the .zip file, do “Swipe to Confirm Flash” on the bottom of screen to begin the custom ROM installation process. This may take some time.

wipe10.png wipe10.png

  1. Once your ROM is successfully flashed, you’ll see “Wipe cache/dalvik” option, select it and then do “Swipe to wipe” on bottom of screen.
  2.  Once cache & dalvik wipe completes, hit the “Back” button on-screen and then select “Reboot System” button.
Troubleshouting

Cid-wink.png Cid-wink.png

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

Magasins alternatifs mais gare aux malwares et virus …

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/

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 :

  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

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
  • 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é !!!

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

  • android.txt
  • Dernière modification: 2019/10/18 01:29
  • par Benjamin Labomedia