2011-12-16 30 views
5

Làm cách nào để gỡ lỗi ứng dụng Android của tôi trong điện thoại di động, không phải trong trình mô phỏng?Làm cách nào để gỡ lỗi ứng dụng của tôi trong Linux bằng điện thoại di động Android của tôi?

Hệ điều hành của tôi là Linux. Khi tôi cố gắng kết nối với thiết bị di động của mình để gỡ lỗi, nó không phải là phản hồi.

+0

là nó hiển thị trong tab thiết bị của bạn như ???????????? như thế này –

+1

mà thiết bị của bạn sử dụng để gỡ lỗi –

Trả lời

7

Câu hỏi này được trả lời trong tài liệu về gỡ lỗi chống thiết bị di động : Using Hardware Devices.

trực tiếp trích dẫn từ tài liệu của họ:


  1. Khai báo ứng dụng của bạn là "debuggable" trong Android Manifest của bạn.
    Trong Eclipse, bạn có thể làm điều này từ Application tab khi xem Manifest (ở bên phải, thiết lập debuggable-đúng). Nếu không, trong tệp AndroidManifest.xml, hãy thêm android:debuggable="true" vào phần tử <application>.

  2. Thiết lập thiết bị của bạn để cho phép cài đặt các ứng dụng phi thị trường.
    Trên thiết bị, đi đến Cài đặt> Ứng dụng và cho phép nguồn Unknown (trên một thiết bị Android 4.0, các thiết lập tọa lạc tại Cài đặt> Bảo mật).

  3. Bật "USB Debugging" trên thiết bị của bạn.
    Trên thiết bị, đi đến Cài đặt> Ứng dụng> Phát triển và cho phép USB gỡ lỗi (trên một thiết bị Android 4.0, các thiết lập tọa lạc tại Settings> Developer tùy chọn).

  4. Thiết lập hệ thống để phát hiện thiết bị của bạn.

    • < snip - Windows Không sử dụng hoặc Mac OS     X >
    • Nếu bạn đang phát triển trên Ubuntu Linux, bạn cần phải thêm một quy tắc tập tin udev có chứa một cấu hình USB đối với từng loại thiết bị mà bạn muốn sử dụng để phát triển. Trong tệp quy tắc, mỗi nhà sản xuất thiết bị được xác định bởi một ID nhà cung cấp duy nhất, như được chỉ định bởi thuộc tính ATTR{idVendor}. Để biết danh sách ID nhà cung cấp, hãy xem USB Vendor IDs, bên dưới. Để thiết lập phát hiện thiết bị trên Ubuntu Linux:
      1. Đăng nhập với tư cách người chủ và tạo tệp này: /etc/udev/rules.d/51-android.rules.
        Sử dụng định dạng này để thêm từng nhà cung cấp đến tập tin:
        SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"

        Trong ví dụ này, các nhà cung cấp ID là dành cho HTC. Việc phân bổ MODE chỉ định quyền đọc/ghi và GROUP xác định nhóm Unix nào sở hữu nút thiết bị.
        Lưu ý: Cú pháp quy tắc có thể thay đổi đôi chút tùy thuộc vào môi trường của bạn.Tham khảo tài liệu udev cho hệ thống của bạn nếu cần. Để biết tổng quan cú pháp quy tắc, hãy xem hướng dẫn này để writing udev rules.
      2. Bây giờ thực hiện:
        chmod a+r /etc/udev/rules.d/51-android.rules

Bạn có thể xác minh rằng thiết bị của bạn được kết nối bằng cách thực hiện adb devices từ thư mục SDK platform-tools/ của bạn. Nếu được kết nối, bạn sẽ thấy tên thiết bị được liệt kê dưới dạng "thiết bị".

Nếu sử dụng Eclipse, chạy hoặc gỡ lỗi ứng dụng của bạn như bình thường. Bạn sẽ thấy một hộp thoại Trình chọn thiết bị liệt kê (các) trình mô phỏng có sẵn và (các) thiết bị được kết nối. Chọn thiết bị mà bạn muốn cài đặt và chạy ứng dụng.

Nếu sử dụng Android Debug Bridge (ADB), bạn có thể phát lệnh bằng cờ -d để nhắm mục tiêu thiết bị được kết nối của mình.

+0

tôi đã làm như trên nhưng sau khi thực hiện lệnh cuối cùng chmod a + r /etc/udev/rules.d/51-android.rules, nó không hiển thị tệp/thư mục nào được tìm thấy – Narendra

+0

@Narendra: Bạn đã thử 'sudo chmod a + r/etc/udev/rules.d/51-android.rules' chưa? Ngoài ra, bạn có đang chạy Ubuntu không? Và tệp bạn đã tạo có chứa '.' ở cuối mà tôi vô tình hilighted khi tôi sao chép văn bản không? Nếu vậy, hãy bắt đầu lại từ bước đó và không bao gồm '.' - Tôi đã chỉnh sửa hướng dẫn để sửa lỗi đó :) –

+0

không chỉ lệnh này" chmod a + r /etc/udev/rules.d/51-android .rules "chờ đợi im đang cố gắng. – Narendra

4

Setting up a Device for Development

Thiết lập thiết bị của bạn để cho phép cài đặt các ứng dụng không Market.

  1. Trên thiết bị, đi đến Cài đặt>Applications và cho phép nguồn Unknown (trên một thiết bị Android 4.0, các thiết lập tọa lạc tại Cài đặt>an).

  2. Bật "Gỡ lỗi USB".

  3. Trên thiết bị, đi đến Cài đặt>Applications>Phát triển và cho phép gỡ lỗi USB (trên thiết bị Android 4.0, các thiết lập tọa lạc tại Cài đặt>Developer tùy chọn).

  4. Thiết lập hệ thống để phát hiện thiết bị của bạn.

Nếu bạn đang phát triển trên Ubuntu Linux, bạn cần phải thêm một tập tin quy tắc udev có chứa một cấu hình USB đối với từng loại thiết bị mà bạn muốn sử dụng để phát triển. Trong tệp quy tắc, mỗi nhà sản xuất thiết bị được xác định bởi một ID nhà cung cấp duy nhất, như được chỉ định bởi thuộc tính ATTR{idVendor}. Để biết danh sách ID nhà cung cấp, hãy xem ID nhà cung cấp USB bên dưới. Để thiết lập phát hiện thiết bị trên Ubuntu Linux:

  1. Đăng nhập bằng root và tạo ra các tập tin /etc/udev/rules.d/51-android.rules.

  2. Sử dụng định dạng này để thêm từng nhà cung cấp đến tập tin:

    SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev" 
    

Trong ví dụ này, vendor ID là dành cho HTC.Việc gán MODE chỉ định quyền đọc/ghi và GROUP xác định nhóm Unix nào sở hữu nút thiết bị. Lưu ý: Cú pháp quy tắc có thể thay đổi đôi chút tùy thuộc vào môi trường của bạn. Tham khảo tài liệu udev cho hệ thống của bạn nếu cần. Để biết tổng quan cú pháp quy tắc, hãy xem hướng dẫn này để viết các quy tắc udev.

Bây giờ thực hiện:

chmod a+r /etc/udev/rules.d/51-android.rules 
+0

tôi đã làm như trên nhưng sau khi thực hiện lệnh cuối cùng chmod a + r /etc/udev/rules.d/51-android.rules nó được hiển thị không có tập tin/thư mục được tìm thấy – Narendra

+0

mở thư mục /etc/udev/rules.d/ này và kiểm tra các tệp 51-rules là có –

+0

có tồn tại. – Narendra

-1

Trên Android 4.2 và mới hơn, tùy chọn nhà phát triển được ẩn theo mặc định. Để làm cho nó có sẵn, hãy đến Cài đặt>Giới thiệu về điện thoạinhấn Xây dựng số bảy lần. Quay lại màn hình trước đó để tìm tùy chọn Nhà phát triển.

Các vấn đề liên quan