.

Android Basics: Τι είναι το ADB, σε τι χρησιμεύει και πώς το χρησιμοποιώ;


 

ADB σημαίνει Android Debug Bridge, δηλαδή “Γέφυρα Εντοπισμού Σφαλμάτων του Android” και είναι ένα πρόγραμμα που περιέχεται μέσα στο Android SDK. Με αυτό το εργαλείο μπορούμε να συνδεθούμε μέσω υπολογιστή στην Android συσκευή μας και να της στείλουμε εντολές μέσω τερματικού για την εκτέλεση εργασιών όπως:

  • Την απεγκατάσταση προεγκατεστημένων εφαρμογών.
  • Το αυτόματο backup και restore των εφαρμογών μας.
  • Μαζική εγκατάσταση εφαρμογών είτε στην εσωτερική είτε στην εξωτερική μνήμη.
  • Να επανεκκινήσουμε τη συσκευή μας σε fastboot ή revovery mode.
  • και γενικά να μεταφέρουμε, να τροποποιήσουμε, να διαγράψουμε αρχεία σε οποιονδήποτε φάκελο και κατάτμηση της συσκευής μας.

Για να χρησιμοποιήσουμε το ADB θα πρέπει: 


  • Να κατεβάσουμε και να στήσουμε το Android SDK στον υπολογιστή μας.
  • Αν χρησιμοποιούμε Windows λειτουργικό σύστημα, να κατεβάσουμε και τον ADB driver της συσκευής μας (δείτε εδώ και εδώ και εδώ και εδώ).
  • Να ανοίξουμε ένα τερματικό και να το οδηγήσουμε στο φάκελο που βρίσκεται το ADB.
  • Να κάνουμε το παρακάτω “Αρχικό Βήμα”, το οποίο και θα κάνουμε ΚΑΘΕ φορά που ανοίγουμε το ADB και πριν χρησιμοποιήσουμε τις εντολές που θα δούμε παρακάτω.

Αρχικό Βήμα


  • Ενεργοποιούμε τον “Εντοπισμό σφαλμάτων” στη συσκευή μας.
  • Συνδέουμε τη συσκευή μας μέσω USB στον υπολογιστή.
  • Ανοίγουμε ένα τερματικό.
  • Για να μπούμε στο φάκελο που βρίσκεται το ADB, εκτελούμε:

Windows:

cd C:\android-sdk-windows\platform-tools

Linux:

cd ~/android-sdk-linux/platform-tools


  • Για να πούμε στο ADB να προσαρτήσει τη συσκευή μας, εκτελούμε:

adb remount


  • Και για να πιστοποιήσουμε οτι τη συσκευή τη βλέπει το ADB, εκτελούμε:

adb devices

Αν μας απαντήσει με το serial number της συσκευής είμαστε εντάξει.

Προσοχή: Ότι κάνετε από εδώ και στο εξής είναι αποκλειστικά δική σας ευθύνη. Ο συντάκτης ή η ιστοσελίδα, δε φέρουν καμία ευθύνη για τυχόν ζημιά στη συσκευή σας. Όλες οι μέθοδοι έχουν δοκιμαστεί σε υπολογιστή μεUbuntu Linux λειτουργικό σύστημα και συσκευή Nexus S 4.0.3.


Παραδείγματα χρήσης του ADB



Προσάρτηση του /system ως εγγράψιμο


Για να μπορέσουμε να επέμβουμε στο system partition και να μεταφέρουμε αρχεία και εφαρμογές από και προς αυτό, θα πρέπει πρώτα να το προσαρτήσουμε ως εγγράψιμο. Αυτό γίνεται εύκολα με την παρακάτω εντολή:

mount -o rw,remount /dev/block/mtdblock3 /system

Εγκατάσταση / απεγκατάσταση, backup εφαρμογών και αρχείων

Με το adb μπορούμε να εγκαταστήσουμε μία εφαρμογή που κατά λάθος έχουμε διαγράψει, ή να απεγκαταστήσουμε μία άλλη που προκαλεί προβλήματα στο σύστημα. Μπορούμε να εγκαταστήσουμε μια εφαρμογή όπου και να βρίσκεται στον υπολογιστή μας, το πιο εύκολο όμως για το τερματικό είναι να τη βάλουμε στο φάκελο που βρίσκεται το adb (platform-tools) για να είναι πιο απλή η εντολή που θα δώσουμε.

Για την εγκατάσταση εφαρμογής στο data partition, στο χώρο δηλαδή που πηγαίνουν όλες οι εφαρμογές χρήστη δίνουμε:

adb install xxxxx.apk

Για την αναβάθμιση μιας υπάρχουσας εφαρμογής δίνουμε την εντολή:

adb install -r xxxxx.apk

Αν επίσης θέλουμε η εφαρμογή μας να εγκατασταθεί απευθείας στην SD κάρτα και η ROM μας το υποστηρίζει, δίνουμε:

adb install -s xxxxx.apk


Τέλος, αν θέλουμε να απεγκαταστήσουμε τελείως μια εφαρμογή από το σύστημα, δίνουμε:

adb uninstall xxxxx.apk


ενώ αν θέλουμε να παραμείνουν τα save file της εφαρμογής εγκατεστημένα, δίνουμε:

adb uninstall -k xxxxx.apk

Για την εγκατάσταση εφαρμογής στο system partition, στο χώρο όπου βρίσκονται οι εφαμοργές συστήματος δίνουμε:

adb push xxxxx.apk /system/app/

Με την παραπάνω εντολή (push) μπορούμε να στείλουμε στη συσκευή μας οποιοδήποτε τύπο αρχείου σε οποιοδήποτε partition. Για παράδειγμα αν θέλουμε να στείλουμε το αρχείο xxxxx.txt στο sdcard partition και μέσα στο φάκελο Downloads, θα πρέπει να δώσουμε την εντολή:

adb push xxxxx.txt /sdcard/Downloads

Αν θέλουμε να επαναφέρουμε το επίσημο αρχείο framework-res.apk γιατί εγκαταστήσαμε κάποιο ελαττωματικό θα δώσουμε την εντολή:

adb push framework-res.apk /system/framework/

Για να επαναφέρουμε όμως ένα αρχείο στη συσκευή μας θα πρέπει πρώτα να το έχουμε κάνει backup στον υπολογιστή. Για παράδειγμα αν θέλουμε να πάρουμε backup σε μία εφαρμογή συστήματος δίνουμε την εντολή:

adb pull /system/app/xxxxx.apk

Για να πάρουμε backup όλο το φάκελο system από τη συσκευή μας, δίνουμε την εντολή:

adb pull /system/

Ο φάκελος και η παραπάνω εφαρμογή θα εμφανιστούν στον ίδιο φάκελο που βρίσκεται το adb στον υπολογιστή μας. Μπορούμε λοιπόν να στείλουμε σε άλλο φάκελο στον υπολογιστή μας, απευθείας από την ίδια εντολή, συμπληρώνοντας το τέλος τη διαδρομή του φακέλου προορισμού. Για να πάρουμε backup λοιπόν σε μία εφαρmογή συστήματος την οποία θέλουμε να αποθηκεύσουμε κατευθείαν στο φάκελο "Backups" που βρίσκεται στο δίσκο "C" του υπολογιστή μας θα δώσουμε την εντολή:

adb pull /system/app/xxxxx.apk C:\Backups\

Έλεγχος του ενσωματωμένου τερματικού της συσκευής μέσω του ADB

Όπως οι υπολογιστές μας έχουν τερματικό ή γραμμή εντολων όπως λέγεται στα Windows, έτσι και το Android διαθέτει τη δική του κονσόλα τερματικού την οποία μπορούμε να ελέγξουμε απευθείας από το τερματικό του υπολογιστή μας. Αυτό γίνεται εύκολα δίνοντας την εντολή:

adb shell

Μετά την εντολή αυτή μπορούμε να μεταφέρουμε, να διαγράψουμε και να μεταποιήσουμε αρχεία της συσκευής και οι σημαντικότερες εντολές για τέτοιες απλές εργασίες είναι οι παρακάτω:

  • su (super user): Απόκτηση δικαιωμάτων διαχειριστή.
  • ls (list): Εμφάνιση λίστα αρχείων που βρίσκονται μέσα στο φάκελο.
  • cd (change directory): Μετάβαση στην τοποθεσία άλλου φακέλου.
  • rm (remove): Διαγραφή αρχείου.
  • mv (move): Μετακίνηση αρχείου.
  • pwd: Εμφάνιση της διαδρομής στην οποία βρισκόμαστε.

Μερικά παραδείγματα...

Μετά την εντολή "shell" που είδαμε παραπάνω, για να πάμε π.χ. στο φάκελο "/system/app" δίνουμε την εντολή:

cd /system/app

Για να δούμε τώρα τα αρχεία που βρίσκονται σε αυτό το φάκελο δίνουμε την εντολή:

ls

Για να αφαιρέσουμε ένα από τα αρχεία του φακέλου (π.χ. το com.android.google) δίνουμε την εντολή:

rm -r com.android.google

Μπορούμε επίσης να μεταφέρουμε μία εφαρμογή από τη μνήμη χρήστη (data) στην μνήμη συστήματος για να εξοικονομήσουμε χώρο στην εσωτερική μνήμη της συσκευής μας. Για να το πετύχουμε δίνουμε την εντολή:

mv /data/app/xxxxx.apk /system/app

Τέλος αν έχουμε χαθεί και δεν ξέρουμε σε ποιο φάκελο βρισκόμαστε, μπορούμε να το μάθουμε εύκολα δίνοντας απλά την εντολή:

pwd

Άλλες εργασίες μέσω ADB

Με το ADB μπορούμε να κάνουμε άπειρα πράγματα όπως να μπούμε σε recovery mode, να κάνουμε reboot τη συσκευή μας ή να δοκιμάσουμε μια recovery πριν τη φλασάρουμε για να δούμε αν ταιριάζει στη συσκευή μας. Αυτά επιτυγχάνονται ως εξής:
Για να μπούμε στη recovery:

adb reboot recovery

Για να μπούμε στον bootloader:  

adb reboot-bootloader 

Για να κάνουμε απλό reboot:  

adb reboot

Για να δοκιμάσουμε μια recovery χωρίς να την εγκαταστήσουμε, την τοποθετούμε στον ίδιο φάκελο με το adb, τη μετονομάζουμε σε "recovery.img" για ευκολία και εκτελούμε:  

adb boot recovery.img

Αν θέλουμε και να την εγκαταστήσουμε δίνουμε την εντολή:

adb flash recovery recovery.img

Το ίδιο μπορούμε να κάνουμε για να εγκαταστήσουμε και άλλα *.img αρχεία στη συσκευή μας απλά θα πρέπει να προσέξουμε μετά το "flash" να δώσουμε το σωστό partition. Για παράδειγμα για να εγκαταστήσουμε ένα νέο boot.img στο boot partition θα δώσουμε την εντολή:

adb flash boot boot.img

Ενώ για να εγκατστήσουμε το system.img στο system partition δίνουμε:

adb flash system system.img

Χρησιμοποιήστε το ADB για να εκτελέσετε εργασίες που δεν μπορεί να κάνει το λειτουργικό σύστημα. Πρόκειται για ένα πολύ δυνατό εργαλείο αλλά χρειάζεται υπευθυνότητα και όπως λέει και ο φίλος μας ο Spiderman: “With great power comes great responsibility” για αυτό λοιπόν, προσέχετε για να έχετε.

 
© 2012-2015 Dr. Android | Original theme design by Main-Blogger - Blogger Template and Blogging Stuff | Material design by Chris K.