Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

post-330623-0-88094600-1503224684_thumb.jpg

Πρόκειται για ένα binary με το οποίο δίνουμε εντολές από το τερματικό του υπολογιστή μας και διαθέτει μία πολύ μεγάλη γκάμα επιλογών για να κάνουμε ότι θέλουμε πραγματικά στο λειτουργικό μας σύστημα.

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

 

Τι ακριβώς μπορούμε να κάνουμε με το ADB;

 

Να εγκαταστήσουμε / απεγκαταστήσουμε εφαρμογές αλλά και ενημερώσεις του συστήματος.

 

Να κάνουμε backup ολόκληρου του συστήματος.

 

Να συγχρονίσουμε φακέλους μεταξύ του υπολογιστή και του κινητού μας.

 

Να μεταφέρουμε / αντιγράψουμε / διαγράψουμε αρχεία στη συσκευή μας.

 

Να επανεκκινήσουμε τη συσκευή μας σε Bootloader ή Revovery mode.

 

Δεν είναι δηλαδή κάτι το οποίο χρησιμοποιούμε στην καθημερινότητά μας, αλλά μπορεί να μας δώσει λύσεις σε περιπτώσεις που το Android δε λειτουργεί σωστά.

 

Προϋποθέσεις

 

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

 

• να κατεβάσουμε τα Platform Tools (ADB & Fastboot) στον υπολογιστή μας και να τα αποσυμπιέσουμε σε κάποιο φάκελο.

https://developer.android.com/studio/releases/platform-tools.html

 

• Αν χρησιμοποιούμε Windows θα πρέπει να έχουμε επίσης τον ADB driver της συσκευής μας.

http://adbdriver.com/

 

• Να ενεργοποιήσουμε τον 'Εντοπισμό σφαλμάτων USB' στο κινητό μας.

 

• Να ανοίξουμε ένα τερματικό μέσα στο φάκελο που βρίσκεται το ADB (Shift + δεξί κλικ).

 

Σύνδεση

 

Ένα από τα πρώτα πράγματα που πρέπει να τσεκάρουμε, είναι ότι ο ADB 'Εντοπισμό σφαλμάτων USB' τρέχει σωστά στον υπολογιστή μας και ότι η συσκευή μας αναγνωρίζεται κανονικά από αυτόν. Σημαντικό είναι να γνωρίζουμε ότι το ADB λειτουργεί πλήρως μόνο όταν η συσκευή μας βρίσκεται σε... Android mode. Λειτουργεί όμως και σε Recovery mode όταν αυτή που έχουμε εγκαταστήσει το υποστηρίζει, ενώ σε μερικές συσκευές που πάσχουν από... Bootloop, δουλεύει όταν βρίσκονται κολλημένες στο Bootanimation!

 

Συνδέουμε λοιπόν τη συσκευή μας μέσω USB στον υπολογιστή και δίνουμε την ακόλουθη εντολή για να μάθουμε αν όλα είναι σωστά στημένα:

 

adb devices

 

Η συσκευή μας θα ρωτήσει αν επιτρέπουμε τη σύνδεση και στο τερματικό θα εμφανιστεί ένας σειριακός αριθμός για επιβεβαίωση. Στην περίπτωση που δεν εμφανίζεται αυτός ο αριθμός, θα πρέπει να εγκαταστήσουμε ξανά τον driver ή να αλλάξουμε θύρα USB στον υπολογιστή μας, μετά από αυτό μπορούμε να σταματήσουμε το ADB με την εντολή:

 

adb kill-server

 

και να το εκκινήσουμε ξανά με την εντολή:

 

adb start-server

 

Αυτές είναι και οι βασικές εντολές σύνδεσης του υπολογιστή μας με μία Android συσκευή, οπότε προχωράμε σε μερικά παραδείγματα, τα οποία είναι πολύ χρήσιμα για διάφορους λόγους.

 

 

Επανεκκίνηση / Είσοδος σε άλλα Mode

 

Με το ADB μπορούμε να κάνουμε επανεκκίνηση σε μία συσκευή που έχει κολλήσει ή να μπούμε σε Bootloader, Recovery mode σε περίπτωση που δε γνωρίζουμε τον κατάλληλο συνδυασμό πλήκτρων.

 

Για να κάνουμε απλή επανεκκίνηση δίνουμε την εντολή:

 

adb reboot

 

Για να μπούμε σε Bootloader / Fastboot Mode δίνουμε την εντολή:

 

adb reboot-bootloader

 

Για να μπούμε σε Recovery mode δίνουμε την εντολή:

 

adb reboot recovery

 

Μπορούμε τέλος να μπούμε και σε Sideload Mode για να εγκαταστήσουμε χειροκίνητα ένα OTA update. Αυτό γίνεται με την εντολή:

 

adb reboot sideload

 

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

 

Με το ADB μπορούμε επίσης να εγκαταστήσουμε μία εφαρμογή από τον υπολογιστή στο κινητό μας τηλέφωνο, να απεγκαταστήσουμε όσες δε χρειαζόμαστε, αλλά και να εγκαταστήσουμε OTA αναβαθμίσεις!

 

Αν έχουμε για παράδειγμα την εφαρμογή 'xxx.apk', την τοποθετούμε στον ίδιο φάκελο με το ADB και για να την εγκαταστήσουμε δίνουμε την εντολή:

 

adb install xxx.apk

 

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

 

adb install -r xxx.apk

 

Μπορούμε επίσης να εγκαταστήσουμε την εφαρμογή απ' ευθείας στην κάρτα SD, αν το επιτρέπει η ROM μας. Για αυτό το σκοπό δίνουμε την εντολή:

 

adb install -s xxx.apk

 

Για να απεγκαταστήσουμε τώρα μια εφαρμογή δίνουμε την εντολή:

 

adb uninstall xxx.apk

 

Αν θέλουμε να την απεγκαταστήσουμε αλλά να κρατήσουμε τα δεδομένα της στη συσκευή (αρχεία ρυθμίσεων, save file), δίνουμε την εντολή:

 

adb uninstall -k xxx.apk

 

Μπορούμε τέλος να εγκαταστήσουμε μία OTA αναβάθμιση για να κάνουμε χειροκίνητα update στη συσκευή μας. Αυτό γίνεται με την εντολή 'sideload', την οποία μπορούμε να χρησιμοποιήσουμε στο ομώνυμο mode. Αν υποθέσουμε ότι το αρχείο της αναβάθμισης ονομάζεται 'ota.zip', τότε η εντολή που πρέπει να δώσουμε είναι η εξής:

 

adb sideload ota.zip

 

 

Μεταφορά & συγχρονισμός αρχείων

 

Το ADB μπορεί να κάνει και μεταφορές αρχείων από και προς τη συσκευή μας. Αν θέλουμε για παράδειγμα να να στείλουμε το αρχείο 'doctor.pdf' στο φάκελο 'Downloads' της συσκευής μας, το τοποθετούμε στον ίδιο φάκελο με αυτόν που βρίσκεται το ADB και δίνουμε την εντολή:

 

adb push doctor.pdf /sdcard/Downloads

 

Αν τώρα θέλουμε να βγάλουμε κάτι από τη συσκευή μας, για παράδειγμα το φάκελο 'sdcard' που περιέχει όλα τα αρχεία μας, πρέπει να δώσουμε την εντολή:

 

adb pull /sdcard/

 

Τέλος ενδέχεται να θέλουμε να έχουμε δύο συγχρονισμένους φακέλους, έναν στον υπολογιστή και έναν στο κινητό, οι οποίοι θα περιέχουν τα ίδια αρχεία. Θέλουμε για παράδειγμα να συγχρονίσουμε τη μουσική που έχουμε στο φάκελο 'Music' του υπολογιστή με τον αντίστοιχο φάκελο που υπάρχει στη συσκευή μας. Αυτό γίνεται με την εντολή:

 

adb-sync ~/Music/ /sdcard/Music

 

Με αυτό τον τρόπο μπορούμε να προσθέτουμε νέα κομμάτια στο φάκελο του υπολογιστή μας και να τα συγχρονίζουμε με αυτή την εντολή με το κινητό μας. Σε ένα άλλο παράδειγμα ίσως θα θέλαμε να παίρνουμε συχνά ένα backup του φακέλου 'DCIM' που περιέχει όλες τις φωτογραφίες μας. Αυτό μπορεί να γίνει με την εντολή:

 

adb-sync --reverse /sdcard/DCIM /Η/διαδρομή/του/φακέλου/Photos/

 

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

 

adb-sync --delete /Η/διαδρομή/του/φακέλου/Photos/ /sdcard/Photos

 

Backup & Restore χωρίς root

 

Ένα από τα καλύτερα χαρακτηριστικά του ADB είναι ότι μπορεί να κάνει backup στη συσκευή μας και να την επαναφέρει αργότερα στην αρχική της κατάσταση. Αυτό είναι ιδιαίτερα σημαντικό όταν πρέπει για κάποιο λόγο να κάνεις επαναφορά εργοστασιακών ρυθμίσεων και θες να τα επαναφέρεις όλα με ευκολία. Ένας τέτοιος λόγος είναι το ξεκλείδωμα του Bootloader, το οποίο διαγράφει την εσωτερική μνήμη της συσκευής μας.

 

Για να κάνουμε backup μέσω ADB λοιπόν, δίνουμε την εντολή:

 

adb backup -all

 

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

 

adb backup -all -apk

 

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

 

adb backup -all -apk -shared

 

Οι εντολές αυτές θα εμφανίσουν στην οθόνη του Android το αντίστοιχο μενού, στο οποίο πρέπει να επιβεβαιώσουμε τη δημιουργία του backup. Μπορούμε αν θέλουμε να προσθέσουμε και έναν κωδικό για να το κρυπτογραφήσουμε κιόλας. Η διαδικασία αυτή θα δημιουργήσει ένα αρχείο με ονομασία 'backup.ab', το οποίο περιέχει τα πάντα.

 

 

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

 

adb restore backup.ab

 

 

Είσοδος στο εσωτερικό τερματικό του Android

 

Η τελευταία χρήσιμη λειτουργία του ADB είναι ότι μπορεί να σε βάλει στο εσωτερικό τερματικό του Android, στο οποίο έχεις τη δυνατότητα να κάνεις (σχεδόν) ότι και σε ένα κανονικό Linux λειτουργικό σύστημα. Η είσοδος στο τερματικό γίνεται με την εντολή:

 

adb shell

 

Από εδώ μπορούμε να κάνουμε διάφορα πράγματα όπως για παράδειγμα να απεγκαταστήσουμε εφαρμογές συστήματος χωρίς να έχουμε κάνει root στη συσκευή μας. Οι βασικές εντολές που θα πρέπει να γνωρίζουμε για να περιηγηθούμε στους φακέλους της συσκευής μας από το τερματικό είναι οι εξής:

 

su (super user): Απόκτηση δικαιωμάτων διαχειριστή, αν έχουμε κάνει root.

ls (list): Εμφάνιση λίστα αρχείων που βρίσκονται μέσα στο φάκελο.

cd (change directory): Μετάβαση στην τοποθεσία άλλου φακέλου.

rm (remove): Διαγραφή αρχείου.

mv (move): Μετακίνηση αρχείου.

pwd: Εμφάνιση φακέλου στον οποίο βρισκόμαστε.

 

Για παράδειγμα...

 

Για να πάμε στο φάκελο '/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

Επεξ/σία από saruman123
  • Like 9
  • Thanks 2
Δημοσ.

Για bootloop σπανια μπορει να χρησιμοποιηθει.

Βρηκα στο xda ενα script (bat καλυτερα) που υποθετικα θα εκκινησει τη συσκευη σε recovery ακριβως τη στιγμη που ειναι διαθεσιμη.

 

1 @ECHO off
2 cd /d %~dp0
3 echo.
4 echo Waiting for device…
5 adb wait-for-device
6 echo.
7 adb -d shell stop
8 adb push mycwmfix.zip /sdcard/mycwmfix.zip
9 adb reboot recovery

 

Αν μπορει καποιος που πασχει απο bootloop ας το επιβεβαιωσει, ακουγεται χρησιμο.

  • Like 1
Δημοσ.

Διορθωση στο δικο μου post. Προφανως η προτελευταια γραμμη " push mycwmfix... " κλπ αφορα τη συγκεκριμενη περιπτωση που ο χρηστης θελει να αντιγραψει ενα zip στη συσκευη , οποτε αγνοηστε αυτη τη γραμμη.

Δημοσ.

Γίνεται σε un-root device και android 5.1.1 να μεταφέρω app/app data slσε external sdcard(ειναι external γτ το Android 5.1.1 δεν μου δινει επιλογή να την κανω internal) με το adb?

Δημοσ.

Γίνεται σε un-root device και android 5.1.1 να μεταφέρω app/app data slσε external sdcard(ειναι external γτ το Android 5.1.1 δεν μου δινει επιλογή να την κανω internal) με το adb?

Μόνο σε περίπτωση που το επιτρέπει η ROM.
Δημοσ.

Σιγουρα δεν μπορεις να τα κατευθυνεις σε δισκο fat32. Ισως σε ext3, ext4 αλλα ειναι αμφιβολο το αν εχεις εξουσιοδοτηση ακομα και με root.

Δημοσ.

Σιγουρα δεν μπορεις να τα κατευθυνεις σε δισκο fat32. Ισως σε ext3, ext4 αλλα ειναι αμφιβολο το αν εχεις εξουσιοδοτηση ακομα και με root.

Με το Link2sd μπορεί να το κάνει.

Αλλά θέλει root.

Δημοσ.

Εν μερει ναι , καποια apk αλλα οχι το dalvik cache και εφαρμογες συστηματος. Οριστικη λυση ειναι το mounts2sd και ext partition. Αν δεν το υποστηριζει η συσκευη μπορεις να γραψεις μονος σου το link αλλα με κινδυνο brick.Παντως και το Link2sd απελευθερωνει καποιο χωρο.

Δημοσ.

Με το Link2sd μπορείς να μεταφέρεις και τον ''obb'' φάκελο.

Πολύ σημαντικό γι'αυτους που παίζουν παιχνίδια.

  • 2 εβδομάδες αργότερα...
Δημοσ.

Καλημερα παιδες. Τι παιζει στην περιπτωση οπου ενω εχει γινει συνδεση κανονικα και τα tools βλεπουν την συσκευη, προσπαθωντας να κανω sideload το ota.zip μου πεταει το αποτελεσμα οτι δεν υπαρχει το συγκεκριμενο αρχειο? Nexus 6

Δημοσ.

Καλημερα παιδες. Τι παιζει στην περιπτωση οπου ενω εχει γινει συνδεση κανονικα και τα tools βλεπουν την συσκευη, προσπαθωντας να κανω sideload το ota.zip μου πεταει το αποτελεσμα οτι δεν υπαρχει το συγκεκριμενο αρχειο? Nexus 6

Δεν ξέρω αν σε βοηθήσει αυτό το βίντεο (Nexus 7)https://m.youtube.com/watch?v=xM1aKsuCl5Q

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...