Computer >> Máy Tính >  >> Hệ thống >> Android

Hướng dẫn cài đặt ADB Android:Trình điều khiển và Lệnh

Trong bài viết này, chúng tôi sẽ khám phá cách bạn có thể sử dụng ADB để đạt được một số kiểm soát chi tiết khi bạn đang cài đặt, thử nghiệm, chẩn đoán và quản lý một hoặc nhiều thiết bị và trình mô phỏng.

Trong vài năm đầu tiên của tôi với tư cách là nhà phát triển phần mềm, chủ yếu làm việc với Android SDK, tôi không biết Android Debug Bridge (ADB / adb) là gì, nó làm gì hoặc sử dụng nó khi nào.

Thật thú vị, đó không phải là một mục tiêu nghề nghiệp nào đó thúc đẩy tôi tìm hiểu về nó ban đầu. Đúng hơn đó là chiếc Nexus 6 vòng lặp khởi động của tôi mà tôi rất muốn phục hồi. Đối với một vấn đề như vậy, Android Studio và Gradle hữu ích như một túi trà không thấm nước.

Tôi cũng muốn đề cập rằng bài viết này đã được viết với hai loại cá nhân trong tâm trí :

  • Những người đã quen thuộc với CLI, Shell, Processes và Mô hình Client-Server
  • Những người không quen thuộc với CLI, Shell, Processes và Mô hình Client-Server

Đối với những người trong danh mục đầu tiên, bạn có thể bỏ qua phần có tiêu đề:" Cách làm việc với ADB . "

Đối với những người trong danh mục thứ hai, tôi sẽ cho rằng bạn giống tôi với tư cách là một nhà phát triển Junior và biết rất ít về CLI, Shells và ADB. Phần đầu tiên là phần giới thiệu mềm và bảng thuật ngữ cho một số thuật ngữ và ý tưởng cơ bản, được giải thích theo cách đơn giản nhất mà tôi có thể quản lý.

Sơ loại

Ở đây, chúng ta sẽ tìm hiểu về một số chủ đề quan trọng nếu bạn muốn hiểu cách thức hoạt động và sử dụng của ADB.

Một số bạn có thể đã sợ hãi việc học các công cụ dòng lệnh trong quá khứ khi chế nhạo những người đam mê Vim hoặc những Quản trị viên Hệ thống Unix hay phán xét. Như bạn sẽ thấy, tôi thoải mái thừa nhận rằng CLI không lý tưởng cho cách bộ não của tôi hoạt động, vì vậy tôi nghĩ bạn có thể thích thú với chủ đề này của tôi.

Dòng lệnh

Nói một cách đơn giản, dòng lệnh là một giao diện (cách gửi / nhận thông tin) tới máy tính chỉ sử dụng các dòng văn bản .

Điều quan trọng là phải hiểu rằng bản thân giao diện dòng lệnh (CLI) không phải là một chương trình, mà là một số chương trình sẽ cung cấp CLI (và có thể cả các giao diện khác như GUI).

Tại một số điểm, bạn có thể đã gõ một cái gì đó vào Windows Command Prompt (hoặc MS-DOS nếu bạn là một đứa trẻ những năm 90 như tôi), Mac Terminal hoặc một cái gì đó giống như GNOME Terminal phổ biến trên nhiều bản phân phối Linux. Tất cả những thứ này chủ yếu được sử dụng thông qua CLI.

Những lợi ích và thâm hụt của việc sử dụng CLI phụ thuộc phần lớn vào cá nhân sử dụng nó và loại vấn đề mà họ đang cố gắng giải quyết. Cá nhân tôi không thích sử dụng CLI trừ khi nó dành cho việc gì đó mà tôi làm hầu như hàng ngày .

Bộ não của tôi chỉ đơn giản là không thích hợp để ghi nhớ các lệnh văn bản tốc ký khó hiểu (tôi đã gặp khó khăn khi học đọc khi còn nhỏ vì lý do tương tự), vì vậy tôi phải dựa vào rất nhiều trí nhớ ngầm dựa trên sự lặp lại (trí nhớ cơ bắp) và bảng gian lận.

Đối với những người sẵn sàng dành thời gian ngay cả khi đó là một cuộc đấu tranh (như tôi), hoặc những người thực sự khá giỏi trong việc ghi nhớ những điều như vậy, bạn có thể sẽ học cách đánh giá cao mức độ hiệu quả hơn mà bạn có thể trong CLI so với GUI .

Nhiều thao tác có thể được thực hiện trong một phần nhỏ thời gian để trỏ và nhấp theo cách của bạn thông qua các menu và màn hình khác nhau. Cũng có thể viết các tập lệnh, là các tệp chứa một chuỗi các lệnh văn bản, có thể làm tăng hiệu quả của bạn hơn nữa.

Cách sử dụng ABD Shell

Tôi sẽ phải giả sử rằng bạn đã quen thuộc với thuật ngữ Hệ điều hành (OS), bao gồm Android, iOS, Windows, Mac, Linux và bất kỳ hệ thống giống Unix nào khác.

Tại sao thuật ngữ này có liên quan đến ADB? Để đưa ra lời giải thích ưu tiên sự rõ ràng hơn là độ chính xác, hệ điều hành Android dựa trên Linux và Linux dựa trên Unix.

Do đó, chúng tôi có thể sử dụng ADB để nắm giữ Unix Shell cho thiết bị hoặc trình mô phỏng mà chúng tôi đang làm việc. Điều này cho phép chúng tôi rất linh hoạt, khả năng và kiểm soát thiết bị hoặc trình mô phỏng bằng cách tương tác trực tiếp với vỏ của nó.

Shell là một thuật ngữ chung cho chương trình mà bạn sử dụng để tương tác với một hệ điều hành. Cũng giống như mai rùa cung cấp khả năng bảo vệ và quyền truy cập vào rùa (và là lớp ngoài cùng), vỏ của hệ điều hành vừa bảo vệ vừa cung cấp quyền truy cập vào các hoạt động bên trong của hệ điều hành. Cá nhân tôi khá ngạc nhiên khi biết rằng "Shell" không phải là một từ viết tắt bí truyền nào đó.

Đừng cảm thấy cần phải suy nghĩ quá nhiều về thuật ngữ này. Nếu bạn đang đọc nội dung này trên một máy tính nào đó, bạn đã sử dụng một trình bao để giúp bạn đến đây.

Một trình bao có thể cung cấp một trong hai hoặc cả CLI hoặc GUI. Trong cả hai trường hợp, bạn sẽ sử dụng nó để tạo / cập nhật / xóa / di chuyển tệp, khởi động các chương trình khác và truy cập các dịch vụ khác nhau của Hệ điều hành được cung cấp thông qua shell.

Cách sử dụng Máy khách ABD và Máy chủ ABD

Một lần nữa, chúng ta hãy bắt đầu với một lời giải thích hơi thiếu chính xác, hy vọng sẽ dễ hiểu hơn. Tuy nhiên, tôi sẽ sửa lại định nghĩa này ngay sau đây.

Máy khách và Máy chủ đều là máy tính. Lý do tại sao chúng tôi phân biệt chúng theo cách này là dựa trên vai trò của chúng . Ví dụ:máy tính của bạn (cho dù đó là máy tính để bàn, máy tính xách tay, điện thoại hay bất kỳ thứ gì khác) là Máy khách của Máy chủ freeCodeCamp, máy chủ này phục vụ bạn trang HTML này.

Nói chung, khách hàng là thứ sử dụng thứ khác , trong khi máy chủ là máy chủ đang được sử dụng . Đừng suy nghĩ quá nhiều về thuật ngữ này, vì Mô hình Máy khách-Máy chủ có thể mô tả rất nhiều thứ cả bên trong và bên ngoài máy tính.

Bây giờ, khi tôi nói rằng Khách hàng và Máy chủ đều là “máy tính”, điều đó không thực sự đúng trong bối cảnh chúng ta sẽ sử dụng các thuật ngữ này sau này.

Là lập trình viên và kỹ sư, chúng ta thường nên nghĩ Máy khách và Máy chủ là các quy trình ( quy trình chỉ đơn giản là một chương trình đang chạy ).

Điều này có nghĩa là trong khi quy trình Máy khách và quy trình Máy chủ thường chạy trên các máy tính riêng biệt, thì cũng tốt nếu chúng chạy trên cùng một máy tính.

Chúng sẽ chiếm các vị trí riêng biệt trong không gian bộ nhớ của máy tính nói trên, do đó, điểm khác biệt duy nhất là chúng sẽ giao tiếp bằng IPC (giao tiếp giữa các quá trình) thay vì gửi tin nhắn cho nhau thông qua kết nối mạng.

Như chúng ta sẽ thấy ngay sau đây, ADB sử dụng quy trình Máy chủ, quy trình này cho phép nhiều nhà phát triển (nhiều khách hàng) quản lý nhiều thiết bị Android và / hoặc trình mô phỏng.

Trong cài đặt doanh nghiệp, quy trình Máy chủ này có thể sẽ nằm trên một máy tính từ xa (được giao tiếp thông qua kết nối mạng), nhưng chúng tôi sẽ thiết lập Máy chủ cục bộ cho Máy khách của chúng tôi. Làm điều đó sẽ đơn giản hơn nhiều so với những gì bạn nghĩ.

ABD Daemon là gì?

Trong trường hợp bạn bỏ qua, tôi đã giải thích rằng một quá trình chỉ đơn giản là một chương trình đang chạy. Daemon là một tiến trình chạy ở chế độ nền, nghĩa là người dùng không trực tiếp tương tác với nó.

Ví dụ:nếu bạn mở một trình duyệt web, thì rất có thể công việc quản lý các kết nối mạng cần thiết để kết nối với Internet sẽ được thực hiện bởi một thứ như NetworkManager Daemon (trái ngược với chính quy trình của trình duyệt).

Mỗi thiết bị Android (vật lý hoặc giả lập), giả sử nó được định cấu hình đúng cách, sẽ có ADB Daemon (adbd) thực thi các lệnh được cung cấp bởi một tiến trình Máy chủ.

Nói tóm lại, khi Máy khách của chúng tôi đưa ra một lệnh cho Máy chủ, Máy chủ sẽ chuyển tiếp lệnh đó tới ADBD, lệnh này sẽ thực thi trên thiết bị.

Cách sử dụng ADB cho Phát triển Android

Trong phần còn lại của bài viết này, chúng ta sẽ khám phá các chủ đề sau:

  • Trình điều khiển và cấu hình cần thiết để sử dụng ADB trên hệ thống của bạn
  • Sử dụng ADB với các thiết bị vật lý và trình mô phỏng
  • Các lệnh cơ bản sử dụng CLI của ADB
  • Xem qua cách sử dụng phức tạp hơn bằng Shell của thiết bị Android qua ADB

Trước khi tiếp tục, bạn sẽ muốn thiết lập công cụ CLI nào bạn sẽ sử dụng để tương tác với ADB. Trên Windows, tôi thích sử dụng PowerShell hơn, nhưng Command Prompt cũng sẽ hoạt động. Đối với Linux và Mac, Terminal mặc định sẽ hoạt động.

Hãy thoải mái sử dụng bất cứ thứ gì hoàn thành công việc.

Bài viết này có giải thích rất chi tiết về toàn bộ quy trình, nhưng tôi đã chuẩn bị một video hướng dẫn trình bày thành công tại đây:

Video hướng dẫn cho adb.

Cách Hiểu Ví dụ CLI

Bài viết này chứa nhiều lệnh được nhập vào công cụ CLI ưa thích của bạn. Bất kỳ phần nào của lệnh đã cho thay đổi theo tình huống sẽ được viết trong dấu ngoặc nhọn.

Không bao gồm dấu ngoặc nhọn trong lệnh CLI bạn viết.

Ví dụ:nếu tôi đã viết ...:

adb pair <ip-address>:<port>

... bạn sẽ thay thế các dấu ngoặc nhọn và tên cho giá trị thực, chẳng hạn như:

adb pair 192.168.0.1:5554

Cấu hình &Trình điều khiển ABD

Trước tiên, hãy đảm bảo rằng bạn có phiên bản mới nhất (hoặc ít nhất là phiên bản mới nhất) của Công cụ-Nền tảng SDK Android. Nếu vì lý do nào đó mà bạn không sử dụng Android Studio (AS), hãy nhấp vào liên kết đó và tải xuống gói độc lập cho hệ điều hành tương ứng của bạn.

Nếu có Android Studio, bạn có thể tải xuống hoặc cập nhật gói này bằng Trình quản lý SDK.

Thường có một biểu tượng thanh công cụ trong AS để mở Trình quản lý SDK, nhưng họ muốn thay đổi giao diện của nó trên thực tế mỗi hotfix.

Nếu bạn không may mắn tìm thấy nó, hãy đi tới Tệp -> Cài đặt và trong thanh tìm kiếm, hãy nhập “SDK” và tìm kiếm mục menu “Android SDK”.

Hướng dẫn cài đặt ADB Android:Trình điều khiển và Lệnh
Cài đặt hệ thống cho thấy rằng Công cụ nền tảng SDK Android đã được cài đặt

Bước tiếp theo thay đổi tùy thuộc vào một số biến. Như đã thảo luận trong Vòng sơ loại , ADB sử dụng Mô hình Máy khách-Máy chủ cho phép bạn sử dụng công cụ một cách linh hoạt.

Để cụ thể hơn, bạn có thể có:

  • Nhiều Khách hàng tương tác với một Máy chủ từ xa
  • Một Máy chủ cục bộ (cùng một máy tính) với một Máy khách
  • Nhiều thiết bị vật lý và trình mô phỏng được kết nối với cùng một máy chủ

Có thể cấu hình nâng cao với nhiều Khách hàng và số lượng thiết bị cực lớn với ADB, nhưng nằm ngoài phạm vi của bài viết này.

Một Máy chủ có thể quản lý tối đa 16 trình giả lập và bao nhiêu thiết bị vật lý tùy thích (trong phạm vi lý do) mà không yêu cầu cấu hình nâng cao.

Trong phần còn lại của bài viết này, phần lớn chúng tôi sẽ làm việc với một thiết bị vật lý và một trình mô phỏng cho một quy trình máy chủ ADB.

Cách Định cấu hình Trình mô phỏng ABD

Nhiều khả năng bạn không cần phải thực hiện thêm bất kỳ cấu hình nào, nhưng có thể bạn cần bật Tùy chọn nhà phát triển trên trình giả lập của bạn. Bạn sẽ sớm biết liệu nó có hoạt động bình thường hay không khi chúng ta thực hiện một số lệnh ADB đầu tiên của mình.

Nếu bạn muốn bật tính năng này trên trình mô phỏng của mình, bạn sẽ cần nghiên cứu cách thực hiện điều đó cho phiên bản Android cụ thể của mình.

Gỡ lỗi USB - Cách định cấu hình thiết bị vật lý

Nếu bạn không định sử dụng thiết bị Android thực, bạn có thể bỏ qua phần này. Tuy nhiên, cần lưu ý rằng bạn vẫn có thể cần bật Tùy chọn nhà phát triển

Để tiếp tục, bạn sẽ cần phải định cấu hình Gỡ lỗi USB hoặc Gỡ lỗi WiFi trên thiết bị Android và máy phát triển của mình.

Trong cả hai trường hợp, hãy bắt đầu bằng cách bật Tùy chọn nhà phát triển trên thiết bị của bạn. Bạn sẽ cần nghiên cứu cách thực hiện điều đó cho phiên bản Android cụ thể của mình.

USB Debugging

Đảm bảo rằng bạn đã bật Gỡ lỗi USB trên thiết bị Android thông qua Tùy chọn nhà phát triển. Liên kết tôi đã chia sẻ ở trên sẽ mô tả quá trình đó, quá trình này có xu hướng thay đổi phần nào trên các phiên bản khác nhau của hệ điều hành Android.

Trước khi tiếp tục, người dùng Windows sẽ cần tải xuống Trình điều khiển USB. Người dùng Ubuntu cũng yêu cầu một số bước bổ sung. Đối với Mac và Chrome OS, bạn nên sử dụng.

Sau khi bật gỡ lỗi USB qua Tùy chọn nhà phát triển, hãy kết nối thiết bị Android của bạn qua cáp USB.

Gỡ lỗi WiFi

Nếu bạn tình cờ có nhiều thiết bị vật lý hoặc thiếu cáp USB, thì bạn có thể muốn chọn Gỡ lỗi WiFi.

Một lần nữa, hãy truy cập Tùy chọn nhà phát triển trên thiết bị Android của bạn và bật gỡ lỗi không dây. Nó sẽ nhắc bạn về Cho phép gỡ lỗi trên mạng mà thiết bị hiện đang kết nối với mạng mà bạn nên cho phép (giả sử đó là mạng thích hợp).

Đã đến lúc bắt đầu làm việc với CLI của bạn . Trước tiên, bạn sẽ cần xác định thư mục công cụ nền tảng (hoặc thư mục - thứ tương tự) trong thư mục cài đặt SDK Android của bạn.

Giả sử bạn đã cài đặt Android Studio, một cách nhanh chóng để xác định vị trí của nó thông qua ứng dụng là lại vào Tệp -> Cài đặt, sau đó nhập “SDK” vào thanh tìm kiếm. Menu “Android SDK” sẽ hiển thị cho bạn nơi SDK của bạn được cài đặt, đây sẽ là thư mục chứa các công cụ nền tảng.

Trong ví dụ bên dưới, Tôi đã sao chép đường dẫn đến thư mục Android SDK của mình , và sau đó mở một phiên bản của Windows PowerShell. Sau đó, tôi nhập các lệnh sau:

Thay đổi Thư mục:

cd <path-to-SDK-directory>

Liệt kê các tệp và thư mục:

ls
Hướng dẫn cài đặt ADB Android:Trình điều khiển và Lệnh

Tiếp theo, tôi nhập cd platform-tools để điều hướng đến thư mục đó. Lưu ý rằng các bước sau giả sử bạn đang sử dụng thiết bị chạy hệ điều hành Android 11 trở lên.

Nếu bạn đang làm việc với thiết bị chạy Android 10 trở xuống, bạn có thể tìm thấy hướng dẫn chi tiết cho tình huống đó tại đây.

Khi bạn đã ở trong thư mục công cụ nền tảng, bạn đã sẵn sàng ghép nối thiết bị Android với máy phát triển bằng các bước sau:

1. Trong menu con gỡ lỗi không dây trong Cài đặt -> Hệ thống -> Tùy chọn nhà phát triển, chọn Ghép nối thiết bị bằng mã ghép nối .

2. Trong công cụ CLI của bạn sẽ được đặt thành thư mục công cụ nền tảng, hãy nhập lệnh sau:

adb pair <IP address>:<Port>

trong đó cả địa chỉ IP và Cổng đều đến từ hộp thoại trên thiết bị Android của bạn. Hộp thoại này xuất hiện sau khi chọn Ghép nối thiết bị bằng mã ghép nối (không bao gồm dấu ngoặc nhọn).

Lưu ý:Bạn có thể cần thêm lệnh gọi của mình vào adb bằng một số ký hiệu hoặc lệnh khác tùy thuộc vào công cụ CLI bạn đang sử dụng, hệ điều hành và các điều khiển truy cập của bạn. Ví dụ:tôi phải nhập cặp. \ Adb <địa chỉ IP>: bằng PowerShell trên Windows.

3. Giả sử mọi thứ diễn ra tốt đẹp với CLI của bạn, bạn sẽ được nhắc nhập mã ghép nối được hiển thị trong cùng một hộp thoại trên thiết bị Android cung cấp cho bạn địa chỉ IP và số Cổng.

4. Sau khi nhập mã ghép nối, bạn sẽ biết thao tác này đã thành công nếu bạn nhận được thông báo cho biết:

Successfully paired to <IP Address>:<Port> [guid=<Some GUID>]

5. Nếu bạn đang sử dụng Windows hoặc Linux, bạn cũng sẽ cần chạy lệnh sau bằng cách sử dụng Địa chỉ IP &Cổng hiển thị từ trong menu tùy chọn gỡ lỗi Không dây (không phải hộp thoại bật lên sau khi chọn Ghép nối thiết bị bằng mã ghép nối) :

adb connect <IP Address>:<Port>

sau đó, bạn sẽ nhận được một thông báo trên điện thoại để cho biết rằng bạn đã được kết nối.

Cách sử dụng ADB:Lệnh

Giả sử bạn đã quản lý để định cấu hình đúng thiết bị Android và máy phát triển của mình, bây giờ bạn có thể sử dụng công cụ ADB.

Trước khi tiếp tục, hãy điều hướng đến thư mục chứa adb bằng công cụ CLI (trừ khi bạn chỉ làm theo các bước trong phần trước để thiết lập gỡ lỗi WiFi).

Nếu không, hãy làm như vậy ngay bây giờ hoặc xem phần đó để biết hướng dẫn về cách định vị thư mục đó.

Cách xem thiết bị nào hiện được kết nối với máy chủ

Bây giờ bạn có thể khởi động máy chủ adb chỉ bằng cách gọi bất kỳ lệnh nào trên ADB ngoại trừ adb kill-server . Cho dù quy trình máy chủ của bạn đang chạy hay không, hãy nhập lệnh sau:

adb devices

Hướng dẫn cài đặt ADB Android:Trình điều khiển và Lệnh

Trong ảnh chụp màn hình ở trên, lần đầu tiên tôi gọi adb devices khi điện thoại Android của tôi được kết nối với máy chủ. Sau khi giết máy chủ qua adb kill-server lệnh, tôi một lần nữa gọi các thiết bị khởi động lại máy chủ.

Một lần nữa, nếu máy chủ ADB hiện không chạy, việc gọi nhiều hơn hoặc ít hơn bất kỳ lệnh ADB nào sẽ khởi động máy chủ sao lưu (ngoại trừ adb kill-server , tất nhiên rồi). Có một adb start-server rõ ràng nhưng trong thực tế, tôi chưa bao giờ cần sử dụng nó.

Vì máy chủ đã được đặt lại, các thiết bị không trả lại bất kỳ mục nào. Do đó, trước khi chuyển sang ví dụ tiếp theo, tôi phải sử dụng lại adb pairadb connect (nếu trên Windows hoặc Linux) các lệnh được mô tả trong phần trước.

Bây giờ tôi đã kích hoạt một trình giả lập bằng PowerShell và chương trình giả lập này cũng nằm trong thư mục con của các công cụ nền tảng được gọi là "emulator".

Tất nhiên, bạn có thể sử dụng Trình quản lý AVD hoặc Android Studio để khởi động trình mô phỏng để làm theo cùng với ví dụ nếu bạn muốn.

Nếu bạn có nhiều thiết bị được kết nối, một tùy chọn hữu ích cho adb devices lệnh là -l , cung cấp cho bạn thêm thông tin về các thiết bị.

Dưới đây, bạn sẽ thấy một số mục nhập đề cập đến thiết bị Android thực của tôi, cũng như trình mô phỏng đã được gắn vào một cổng cụ thể:

Hướng dẫn cài đặt ADB Android:Trình điều khiển và Lệnh

Cách gửi lệnh đến một thiết bị cụ thể

Thay vào đó, để tránh vô tình chèn điện thoại của mình, tôi muốn gửi lệnh tới trình giả lập. Để làm điều này, tôi phải thêm -s , theo sau là số sê-ri của thiết bị đích, trước khi nhập lệnh.

Số sê-ri là bộ ký tự đầu tiên mô tả thiết bị được kết nối sau khi sử dụng lệnh thiết bị.

Ví dụ:số sê-ri của trình mô phỏng trong trường hợp này chỉ là từ trình mô phỏng theo sau là cổng mà trình mô phỏng hiện được gắn vào.

Hướng dẫn cài đặt ADB Android:Trình điều khiển và Lệnh

Mũi tên màu đỏ kia trỏ đến số sê-ri của điện thoại của tôi (bị chặn vì những lý do rõ ràng).

Đương nhiên, nếu bạn chỉ có một thiết bị được kết nối (bất kỳ loại thiết bị nào), bạn không cần sử dụng -s tùy chọn.

Cài đặt APK (Ứng dụng) trên thiết bị

Bây giờ tôi sẽ cài đặt một APK thử nghiệm trên trình giả lập đang chạy bằng adb install yêu cầu.

Điều này về cơ bản tương đương với việc Android Studio và Gradle cài đặt APK gỡ lỗi. Như bạn sẽ thấy, các APK thử nghiệm yêu cầu -t tùy chọn sau lệnh cài đặt:

adb -s <device-serial-number> install -t <path-to-APK>

Hướng dẫn cài đặt ADB Android:Trình điều khiển và Lệnh

Lưu ý:Hệ điều hành Android yêu cầu mọi APK phải được ký trước khi có thể cài đặt (ngay cả khi đó chỉ là một APK thử nghiệm / gỡ lỗi).

Một giải pháp là xây dựng và chạy ứng dụng sẽ được cài đặt trong Android Studio, ứng dụng này sẽ ký ứng dụng đó bằng chứng chỉ gỡ lỗi đã tạo. Có một số cách khác để ký một APK như vậy mà bạn có thể khám phá bằng cách truy cập liên kết này.

ADB có thể làm gì khác?

Trước khi chúng ta xem xét một số cách sử dụng nâng cao hơn của ADB, tôi thực sự khuyến khích bạn dùng thử adb --help yêu cầu. Theo thông lệ đối với hầu hết các chương trình dựa trên CLI, lệnh trợ giúp sẽ in ra tài liệu mô tả các lệnh và tùy chọn khác nhau của công cụ.

Tôi vui mừng nói rằng tài liệu cho ADB khá rõ ràng và hữu ích, điều này không phải lúc nào cũng đúng trong các chương trình CLI.

Mẹo Sử dụng ADB Nâng cao

Sẽ rất lãng phí thời gian cho cả hai chúng tôi để trình bày mọi cách sử dụng và lệnh của ADB trong bài viết này.

Trong trường hợp có bất kỳ sự nhầm lẫn nào, việc sử dụng ADB để cài đặt APK và thực hiện nhiều việc mà Android Studio và Gradle làm cho bạn không phải là điều mà tôi khuyên bạn nên làm (trừ khi bạn có lý do chính đáng để làm như vậy).

Như đã nói, có rất nhiều điều mà ADB có thể làm được mà khó hoặc không thể làm được nếu không có nó.

Trong phần sơ bộ, tôi đã đề cập rằng ADB có thể được sử dụng để móc vào vỏ của thiết bị. Để kết thúc bài viết này, chúng ta sẽ xem xét cách sử dụng các lệnh shell và nơi để tìm thêm thông tin về chúng.

Nếu bạn không biết shell là gì, có thể bạn đã bỏ qua phần ở trên, nơi tôi đã giải thích điều đó.

Cách sử dụng ABD Shell

Gửi lệnh tới shell của thiết bị bằng ADB khá đơn giản. Hãy nhớ rằng nếu bạn có nhiều thiết bị được kết nối, hãy làm theo nó với -s <device-serial-number> để hướng lệnh đến một thiết bị cụ thể.

Để tạo một lệnh shell duy nhất, chúng ta phải sử dụng adb shell lệnh (ngạc nhiên lớn, hả?), theo sau là lệnh thực mà chúng tôi muốn thực hiện trên shell của thiết bị:

adb shell ls

Đầu ra:

Hướng dẫn cài đặt ADB Android:Trình điều khiển và Lệnh

Như đã đề cập trước đây, ls lệnh hiển thị danh sách các tệp và thư mục tại thư mục hiện tại của CLI. Đây là thư mục gốc của thiết bị Android cho đến khi chúng tôi chuyển sang một thư mục khác.

Nếu bạn định thực hiện nhiều lệnh thông qua Shell, bạn cũng có thể bắt đầu một phiên Shell tương tác. Điều này có thể được thực hiện thông qua lệnh đơn giản:

adb shell

Trong một phiên Shell tương tác, bạn có thể nhập lệnh Shell trực tiếp mà không cần sử dụng thêm adb shell <command> .

Lưu ý rằng khi bạn muốn thoát khỏi phiên Shell tương tác, bạn có thể làm như vậy bằng cách nhập exit hoặc nhấn Ctrl + D.

Hướng dẫn cài đặt ADB Android:Trình điều khiển và Lệnh

Có rất nhiều lệnh và tiện ích khác nhau mà bạn có thể làm việc thông qua Shell. ActivityManager (am ) của một thiết bị Android có thể đặc biệt hữu ích để kiểm tra các thành phần khác nhau (Hoạt động, Dịch vụ, BroadcastReceivers, tên một số ít) của một ứng dụng Android trong các trường hợp khác nhau.

Giả sử chúng ta muốn khởi chạy thẳng vào một Hoạt động cụ thể, nhưng Hoạt động này không được chỉ định là Hoạt động khởi chạy trong tệp kê khai.

Bạn vẫn cần thêm android:exported=”true” thuộc tính cho mỗi <activity/> mục nhập trong tệp kê khai mà bạn muốn khởi chạy (giả sử nó chưa phải là Hoạt động của trình khởi chạy).

Sau đó, bạn có thể sử dụng lệnh sau để đi thẳng đến nó:

am start -n <app-package-id>/<activity-name>

Lưu ý rằng <activity-name> phải bao gồm bất kỳ gói nào, liên quan đến id gói, mà nó nằm trong đó. Xem kết quả đầu ra bên dưới để biết ví dụ về việc khởi chạy Hoạt động nằm trong một số gói.

Hướng dẫn cài đặt ADB Android:Trình điều khiển và Lệnh

Đọc thêm

Mục tiêu của tôi trong bài viết này là cố gắng hết sức để giới thiệu, giải thích và hướng dẫn bạn cách sử dụng ABD theo cách nói của riêng tôi (trong chừng mực có thể).

Tại thời điểm này, tôi sẽ cần phải bắt đầu tạo một số ví dụ rất giả tạo hoặc đơn giản là sao chép lại tài liệu, cả hai đều không phải là những điều tôi muốn làm.

Thay vào đó, tôi muốn khuyến khích bạn truy cập tài liệu và có cái nhìn ngắn gọn về một số điều thú vị mà bạn có thể thực hiện bằng cách sử dụng các công cụ như Trình quản lý hoạt động, Trình quản lý gói, Trình quản lý chính sách và các công cụ khác.

Bạn có thể liên hệ với tôi trên mạng xã hội tại đây:

https://www.instagram.com/rkay301/
https://www.facebook.com/wiseassblog/
https://twitter.com/wiseass301
https://wiseassblog.com/