Cơ bản về adb/fastboot/bootloader (N1 và Android)

Thảo luận trong 'Lập Trình Android' bắt đầu bởi Administrator, 21/8/12.

Lượt xem: 848

  1. Administrator

    Administrator Ngọc Điệp Hoàng Thành viên BQT

    Tham gia:
    19/3/11
    Bài viết:
    5,222
    Được thích:
    15,014
    Tín dụng:
    3,450,331
    Giới tính:
    Nam
    Nghề nghiệp:
    Mar
    Nơi ở:
    Hà Nội
    Mục đích của tài liệu này:

    1. Giúp làm rõ một số địng nghĩa và kiến thức cơ bản về những câu lệnh giúp tuơng tác với máy điện thoại Android của bạn

    2. Hiểu rõ hơn những lệnh trên giúp các bạn mới khi đọc hướng dẫn không chỉ cứ mù mờ nhập lệnh theo, dễ dẫn đến sai sót, mà hiể được câu lệnh đó có ý nghĩa gì và ảnh hưởng ra sao tới máy mình.

    3. Có một số bài hướng dẫn chỉ nói là: chép cái này vào cái kia, flash cái này vào partion này. Nhưng không có câu lệnh cụ thể. Khi đó hiểu được câu lệnh giúp bạn có thể tự mình viết ra được câu lệnh để làm theo hường dẫn tốt hơn

    4. Thêm vào đó kiểm tra xem kiến thức mình có chỗ nào chưa đúng. Nên nếu ai thấy sai gì thì PM mình sửa nhé.

    5. Cũng sẽ là chỗ trợ giúp những thắc mắc các bạn mới.

    Phần chính nào. Những vấn đề dưới đây sẽ cố gắng được giải thích đơn giản bình dân và minh họa để các bạn mới dễ theo nhất

    Phần 1: ADB

    1. adb - viết tắt của android debug bridge - bất cứ khi nào bạn muốn tìm hiểu thêm về những thuộc tính của lệnh này, bạn cứ gõ adb >enter list những lệnh có thể dùng cùng hướng dẫn sẽ được xuất ra

    2. adb devices - Nếu có một câu lênh về adb nào phải nhớ thì mình sẽ chọn câu này - Câu lệnh này giúp bạn kiểm tra xem máy Android nào đang được kết nối với máy tính mình. Nói cách khác nếu gõ lênh này mà không thấy so SN máy mình hiện ra là bạn biết máy bạn chưa kết nối

    3. adb reboot (bootloader | recovery)
    adb reboot - Khởi động lại máy
    adb reboot bootloader khởi động máy vào chế độ bootloader
    adb reboot recovery khởi động máy vào chế độ recovery

    4. adb remount - trong Android phone co phân mục system lưu những dữ liệu hệ thống máy. Theo đó để an toàn người ta khóa thư mục này lại để mình không sơ ý làm hư máy được. Nhưng đôi khi mình cần phải thay đổi cái gì đó trong phân mục này thì mình cần câu lệnh trên.
    Vi' Dụ: Cần xóa chuơng trình Mp3 Amazon nó nằm trong đường dẫn /system/app
    Vậy là nó cần thay đổi file trong phân vùng system do đó ta cần câu lệnh đầu tiên là : adb remount
    Câu lênh thứ hai là : adb shell rm /system/app/*amaz* ( lệnh này sẽ nói tới phần 7)

    5. adb push xxx yyy - copy file xxx từ máy tính vào một chỗ nào đó trên điện thoại với tên yyy (cần quyền root)
    Ví dụ: Chép file Browser_Mod.apk từ ổ C:\Documents vào đường dẫn system/app với tên là Browser.apk. Câu lênh như sau:
    adb remount ( Có dính tới system mà)
    adb push C:\Documents\Browser_Mod.apk /system/app/Browser.apk
    Nếu các bạn không để tên file mới lệnh trên sẽ dữ nguyên tên gốc ví dụ:
    adb push C:\Documents\Browser_Mod.ạpk /system/app (máy sẽ copy file Browser_Mod.apk vào /system/app với đúng tên là Browser_Mod.apk không đổi

    6. adb pull yyy xxx - copy file yyy từ máy Android vào lại máy tính.(cần quyền Root luôn)
    Ví dụ: backup file Launcher2.apk từ system/app vào lại máy tính C:\Documents với tên mới là Launcher2BAK.apk. Câu lệnh như sau:
    adb remount (...)
    adb pull /system/app/Launcher2.apk C:\Documents\Launcher2BAK.apk

    Trường hợp bạn đang ở sẵn trong C:\Documents rồi tức là cái chỗ dấu nháy nó ghi:
    C:\Documents> bạn có thể sử dụng biểu tượng dấu chấm để chỉ chỗ bạn đang đứng. Câu lệnh cụ thể như sau:

    adb pull /system/app/Launcher2.apk ./Launcher2BAK.apk (dấu chấm sẽ thay cho chỗ bạn đang đứng là C:\Documents )

    7. adb shell rm - rm viết tắt của remove là xóa. Câu lệnh này giúp xóa một file nào đấy
    Ví dụ: muốn xóa file Mp3amazon.apk trong /system/app xóa như sau
    adb remount
    adb shell rm /system/app/Mp3amazon.apk

    Nhưng để xóa triệt để chuơng trình MP3 amazon ta cần phải xóa nhiều file khác như Mp3amazon.lib hay amazon.jar. nếu có 10 file phải bấm 10 lần thì mỏi tay quá trong khi ta thấy nó co chung nhau phần amaz ở giữa thế là câu lệnh mới thành như sau:
    adb shell rm /system/app/*amaz* (* thay thế cho chuỗi ký tự bất kỳ, ? thì thay thế cho 1 ký tự bất kỳ mà thôi)

    Phần 2: fastboot

    1. fastboot - giao thức giữa máy tính và điện thoại giúp bạn flash file vào máy điện thoại - câu lệnh trên sẽ liệt kê những lện được dùng cùng fastboot với hướng dẫn

    2. fastboot devices - kiểm tra thiết bị kết nối, thiết bi được kết nối chưa, và những thiết bi nào đang được kết nối

    3. fastboot reboot - khởi động lại máy bình thường

    4. fastboot oem unlock - unlock bootloader cua Nexus One cái này sẽ khiến bạn vi phạm điều khoản bảo hành của HTC

    5. fastboot erase XXX - xóa phân vùng XXX - thường được dùng với phân vùng userdata hay cache. Ví dụ: xóa phân vùng userdata
    fastboot erase userdata ( phân vùng userdata bạn sẽ bị xóa đồng nghĩa với việc những cài đặt trong phần setting như tài khoản log in password, history web, rồi pass wifi vân vân sẽ bị xóa hết)
    **Đây là câu lênh nhạy cảm xóa nhầm một cái là BRICK máy đấy**

    6. fastboot flash XXX YYY - flash phân vùng XXX bằng file ảnh YYY
    Ví dụ: flash phân vùng recovery bằng file RArecovery.img
    fastboot flash recovery RArecovery.img
    Một số phân vùng thường gặp: boot, recovery, radio, zImage.

    Lưu ý: để chạy được fastboot máy bạn nhất thiết phải ở trong chế đô Bootloader. Bạn có thể vào chế độ này bằng cách nhập lênh:
    adb reboot bootloader
  2. vuonghb28

    vuonghb28 Thành Viên Mới

    Tham gia:
    1/6/13
    Bài viết:
    6
    Được thích:
    0
    Tín dụng:
    0
    Nơi ở:
    Hòa Bình
    bài cảu bạn rất hay thanks.. bạn. tiện đây bạn cho mình hỏi? Ở phần cuối bài, phần fastboot flash mình làm cho máy sony SK17i mình flash recovery.img bây h máy mình k khởi động lên đc nữa ở bài Tổng hợp... cho xperia S mình hỏi admin bên đó nhưng chưa thấy admin đó trả lời giúp. Hiện máy mình chỉ khởi động lên đc chữ Xperia rồi lại tắt lịm dần dần và lại lặp lại như lúc đầu bạn có thể giúp mình đc k? thank! bạn nhiều