Không thể gỡ lỗi ứng dụng trong Android Studio


81

Tôi đang tạo một ứng dụng trong Android Studio, hiện đang cố gắng gỡ lỗi nó thông qua adb. Khi tôi nhấp vào từ Android và logo trên thanh dưới cùng, logcat sẽ xuất hiện và nhận dạng thiết bị của tôi. Sau đó, tôi thấy điều này:

ảnh chụp màn hình

Tôi cần làm gì với ứng dụng của mình để khiến ứng dụng "có thể gỡ lỗi"?

FYI đã phát triển ứng dụng này trong Eclipse trước đây và adb hoạt động tốt.


Bạn đã tìm thấy một giải pháp?
Paul

Gỡ cài đặt ứng dụng từ điện thoại và chạy nó một lần nữa từ Android studio giải quyết vấn đề của tôi
Ahmad Behzadi

3
Hôm nay tôi gặp sự cố, các điểm ngắt không thể dừng chương trình. Và đó là do cài đặt trong build.gradle. Tôi đặt loại xây dựng gỡ lỗi với minifyEnabled là đúng, loại bỏ điều này và điểm ngắt hoạt động.
lâu đài bai

hãy xem câu trả lời của tôi ở đây . mà có thể giải quyết vấn đề
Muahmmad Tayyib

Câu trả lời:


85

Có một biểu tượng Gỡ lỗi trên thanh công cụ. Nó trông giống như một "lỗi" nhỏ và nằm ngay bên cạnh biểu tượng Run (trông giống như một nút phát). Hãy thử khởi chạy ứng dụng đó.

Bấm vào đây để gỡ lỗi

Chỉnh sửa: Tính năng sau không được dùng nữa khi sử dụng Android Studio với Gradle.

Cũng có một cờ gỡ lỗi trong tệp AndroidManifest.xml . Nó nằm dưới thẻ ứng dụng và phải được đặt thành "true", như sau:

<application android:debuggable="true">
</application>

1
Chúng ta có thể bước từng dòng một, giống như trong nhật thực không? nếu có thể, làm thế nào để làm điều đó?
Ari R. Fikri,

1
Chắc chắn bạn có thể. Khi bạn đạt đến điểm ngắt, cửa sổ gỡ lỗi sẽ hiển thị, thanh công cụ ở trên cùng chứa các lệnh bước khác nhau. Bạn cũng có thể định cấu hình các phím tắt gỡ lỗi khác nhau từ File-> Settings-> Keymap- chúng nằm dưới Main menu-> Run. Xem cái này để biết thêm thông tin.
free3dom

7
Phiên bản mới nhất của android studio không bắt buộc bạn phải đặt android: debuggable, infact nó hiển thị một tiếng kêu rắc rối cho thấy bạn nên đặt nó trong cấu hình chứ không phải trong tệp kê khai. Điều này giúp tránh vô tình xuất bản ứng dụng có thông tin gỡ lỗi.
Soundararajan

3
Không hoạt động năm 2015, build.gradle đặt buildTypes {debug {debuggable đúng

2
nó là công việc của tôi. Tôi đặt tệp kê khai <application android: debuggable = "true"> </application> và gỡ lỗi hoàn hảo. Cảm ơn
Andy Luis

111

Tôi đã giải quyết vấn đề này sau khi thực hiện các bước sau:

Đi tới Công cụ ==> android ==> Tắt tích hợp ADB và bật lại.

Sau đó, rút ​​USB khỏi thiết bị và cắm lại.

Cuối cùng nhấn shift + F9


Đây là những gì đã giúp tôi. Đột nhiên gỡ lỗi ngừng hoạt động, sau khi nó hoạt động trở lại.
Rui Santos

Stil hoạt động cho đến hôm nay, đã thử khởi động lại và mọi thứ.
Mathijs Segers,

1
Tôi chỉ cần thiết để đóng và mở lại phòng thu android cho rằng trường hợp dự án để thực hiện công việc lỗi: /
Rachael

18
Không có mục menu nào như vậy có tên "Công cụ ==> android" trong phiên bản Android Studio 3.1.3 và tôi không thể tìm thấy tùy chọn này ở bất kỳ đâu
James Watkins

1
Không có tùy chọn "adb" ở bất kỳ đâu trong menu dành cho Android Studio 4
spartygw

34

Một điều khác cần phải cẩn thận (Tôi đã làm điều này để tôi biết, duh). Đảm bảo không bật Proguard để gỡ lỗi!


6
cảm ơn và bị buộc phải minifyEnabled sai và shrinkResources sai
Janardhan R

16

Tôi cũng ngẫu nhiên gặp sự cố này ngay cả khi đã gỡ lỗi nhiều lần trong Android Studio. Một ngày nào đó, trình gỡ lỗi sẽ không đính kèm. Tôi chỉ cần thoát khỏi Android Studio và mở lại nó và trình gỡ lỗi bắt đầu hoạt động trở lại.


15
    <application android:debuggable="true">
</application>

Điều này không còn hoạt động! Không cần sử dụng debuggable = "true" trong tệp kê khai.

Thay vào đó, bạn nên đặt Biến thể xây dựng thành "gỡ lỗi"

Chế độ kiểm tra sửa lỗi

Trong Android Studio, hãy chuyển đến BUILD -> Chọn Build Variant

Bây giờ hãy thử gỡ lỗi. Cảm ơn


Menu Xây dựng không có tùy chọn "Chọn Biến thể Xây dựng".
Pete Alvin

14

Điều này đã làm việc cho tôi:

  1. Đóng Android Studio.
  2. Mở shell và viết:

    adb kill-server

    adb start-server


Chỉ cần những gì tôi đang tìm kiếm. Trước đây, tôi có thể thực hiện việc này bằng một adb reconnectlệnh đơn giản , nhưng nó không làm điều này nữa trong AS 3.1 (có thể tôi đang làm gì đó sai hoặc chưa đủ?
VictorB

Btw, giải pháp này đã làm việc cho tôi mà không cần đóng AS hoặc phiên đầu cuối.
VictorB

11

Đảm bảo rằng bạn đã bật tích hợp ADB.

Trong Menu: Công cụ -> Android -> Bật tích hợp ADB (v1.0)


11

Nếu Ứng dụng của bạn từng có thể gỡ lỗi và đột nhiên không thể gỡ lỗi được nữa. Đây là giải pháp của tôi

  1. tắt và bật USB debugcông tắc trong điện thoại của bạn.
  2. Gỡ cài đặt ứng dụng của bạn.
  3. nhấp vào Chạy trong Android Studio.

8

Một trường hợp bạn không thể gỡ lỗi ứng dụng trong Android Studio là khi bạn đã chọn biến thể bản dựng "phát hành". Đã xảy ra với tôi - Gradle xây dựng phiên bản phát hành của ứng dụng (không thể gỡ lỗi) và sau đó Android Studio không thành công khi cố gắng kết nối trình gỡ lỗi.


1
Điều này đã khiến tôi vấp phải một số lần, ngay cả trong các IDE khác. Tôi tin rằng khả năng gỡ lỗi phát hành có thể định cấu hình trong hầu hết các IDE và đôi khi được khuyên nếu bạn muốn đính kèm trình gỡ lỗi vào các ứng dụng đã phát hành.
visc

7

Điều này đôi khi xảy ra với tôi và tôi vẫn chưa tìm ra lý do tại sao. Không có giải pháp nào đã đăng có hiệu quả với tôi. Điều duy nhất phù hợp với tôi là:

  1. Gỡ cài đặt ứng dụng khỏi thiết bị.
  2. Dự án sạch. "Xây dựng -> Dự án sạch."
  3. Xây dựng lại và cài đặt.

7

Biểu tượng "Đính kèm trình gỡ lỗi vào quy trình Android" sẽ được sử dụng trong trường hợp bạn đặt "android: process" tùy chỉnh trong tệp Manifest của mình.
Trong trường hợp của tôi, tôi nên chọn quy trình phù hợp và nhấp vào nút OK ngay sau khi hộp thoại "Chờ trình gỡ lỗi" xuất hiện.
nhập mô tả hình ảnh ở đây


cách giải quyết khủng khiếp nhưng điều duy nhất phù hợp với tôi lúc này, CẢM ƠN !!!
Jules

Làm việc cho tôi mặc dù tôi không có "android: process" tùy chỉnh trong tệp Manifest của mình.
Jason Bowers

đây là giải pháp cho tôi. Cảm ơn
gmartinsnull

4

Kiểm tra xem dự án ứng dụng của bạn có được chọn trong menu thả xuống bên cạnh nút gỡ lỗi hay không. Đôi khi Android Studio chỉ đặt lại lựa chọn này ...

nhập mô tả hình ảnh ở đây


4

Nếu bạn bật

<application android:debuggable="true">
</application>

Trong ứng dụng manifest.xml, hãy đảm bảo rằng bạn vô hiệu hóa nó khi tạo gói ứng dụng đã ký cuối cùng vì đây có thể là lỗ hổng bảo mật cho những kẻ tấn công. Chỉ sử dụng nó nếu chỉ một trong các ứng dụng của bạn không hiển thị nhật ký. Tuy nhiên trước khi xem xét tùy chọn đó, hãy thử điều này:

Điều hướng đến các công cụ trong studio android

 Tools==>android==>disable adb integration and again enable it

3

Ngoài ra, hãy đảm bảo rằng bạn không sử dụng các ứng dụng khác cũng có thể đang sử dụng ADB, chẳng hạn như Eclipse.


3

Tôi đã thử nghiệm tất cả các cách và không có trong số chúng hoạt động !!!

cuối cùng đã phải thay đổi cổng adb và nó đã hoạt động. đầu tiên giết máy chủ adb như dưới đây:

adb kill-server

sau đó khởi động lại nó bằng một cổng khác

adb -P 5038 start-server

3

Tôi đã xây dựng sạch sẽ bằng cách sử dụng lệnh dưới đây .. Hoạt động đáng ngạc nhiên.

sh gradlew xây dựng sạch sẽ

Hy vọng rằng ai đó nhận được sự giúp đỡ!


1
Chúng ta phải khởi động nó trong bảng điều khiển nào?
DmitryBoyko

Chạy lệnh này trong thiết bị đầu cuối studio android hoặc điều hướng đến dự án của bạn từ thiết bị đầu cuối bên ngoài
Haider Ali

3

Trong trường hợp của tôi, gần dòng bất kỳ, một vòng tròn màu đỏ xuất hiện với một đường chéo và màu đỏ với thông báo: "Không tìm thấy mã thực thi ở dòng ..." như trong Android studio gradle breakpoint Không tìm thấy mã thực thi nào ở dòng .

Đã xảy ra sự cố sau khi cập nhật build.gradle. Chúng tôi đã bao gồm hỗ trợ Kotlin, vì vậy một số phương pháp đã vượt quá 64K. Dòng vấn đề:

buildTypes {
    debug {
        minifyEnabled true

Thay đổi chúng thành:

buildTypes {
    debug {
        minifyEnabled false
        debuggable true

Sau đó, đồng bộ một gradle với một nút "Đồng bộ hóa dự án với tệp Gradle". Nếu sau khi khởi động lại ứng dụng, bạn sẽ gặp lỗi: "Lỗi: Số lượng tham chiếu phương thức trong tệp .dex không được vượt quá 64K. Tìm hiểu cách giải quyết vấn đề này tại https://developer.android.com/tools/building/ multidex.html ", sau đó, giống như trong Số lượng tham chiếu phương thức trong tệp .dex không được vượt quá 64k API 17, hãy thêm các dòng sau vào build.gradle:

android {

    defaultConfig {
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

dependencies {
    implementation 'com.android.support:multidex:1.0.2'
}

CẬP NHẬT

Theo https://developer.android.com/studio/build/multidex.html, hãy làm như sau để bật hỗ trợ multidex bên dưới Android 5.0. Nếu không, nó sẽ không bắt đầu trong các thiết bị này.

Mở AndroidManifestvà tìm thẻ <application>. Gần android:name=là một tham chiếu đến một lớp Ứng dụng. Mở lớp học này. Mở rộng lớp Ứng dụng với MultiDexApplicationnhư vậy:

public class MyApplication extends MultiDexApplication { ... }

Nếu không có nhóm lớp Ứng dụng nào, hãy viết như vậy:

<application
        android:name="android.support.multidex.MultiDexApplication" >
    ...
</application>

2

Đảm bảo bật chế độ nhà phát triển và gỡ lỗi USB trên thiết bị hoặc trình mô phỏng. (Dễ quên khi thiết lập một cái mới.)


2

Bạn cũng nên có Công cụ-> Android-> Bật Tích hợp ADB đang hoạt động.


2

Tôi đã có thể khắc phục bằng cách đi tới Chạy -> Chỉnh sửa Cấu hình, chọn dự án của tôi, chọn tab Trình gỡ lỗi, sau đó thay đổi 'Loại gỡ lỗi' từ 'Tự động' thành 'Kép':nhập mô tả hình ảnh ở đây


1

Điều này đã giải quyết vấn đề của tôi. Gỡ cài đặt ứng dụng khỏi thiết bị và chạy lại qua Android studio.


1

Đối với tôi, nó đã xảy ra khi tôi sử dụng Proguard, vì vậy bằng cách thử tất cả các giải pháp, tôi đã làm sạch dự án của mình và nhấn nút gỡ lỗi trên Android Studio và nó bắt đầu gỡ lỗi


1
Tôi đã gặp phải vấn đề này trong android studio 4.1 và giải pháp của bạn đã giúp tôi. Cảm ơn
Buckstabue

1

Trong trường hợp của tôi, Phải xóa proguard trong gỡ lỗi Loại xây dựng bằng cách xóa hoàn toàn tệp văn bản proguard-rules.provà tạo minifyEnabled falsetrong tệp build.gradle

  debug {
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

1
<application android:debuggable="true">
</application>

Đoạn mã trên không còn là một giải pháp. Bạn cần bật gỡ lỗi bên trong tệp build.gradle của mình. Nếu bạn có các loại buildTypes khác nhau, hãy đảm bảo rằng bạn đặt "debuggable true" trong một trong các loại build. Đây là mã mẫu từ một trong những dự án của tôi.

buildTypes {
    debug {
        debuggable true
    }

    release {
        debuggable false
    }
}

** Tôi đã xóa các dòng khác bên trong buildTypes không liên quan đến câu hỏi này khỏi tệp gradle của tôi tại đây.

Đồng thời Đảm bảo rằng bạn chọn đúng biến thể bản dựng trong studio android của mình trong khi thực hiện gỡ lỗi.

nhập mô tả hình ảnh ở đây


1

Trong những năm qua, tôi đã truy cập chủ đề này nhiều lần và luôn có một phản hồi khác giúp tôi. Lần này tôi phát hiện ra rằng chính hub USB của tôi đã ngăn trình gỡ lỗi hoạt động bình thường. Nghe thật kỳ lạ, thay vì kết nối điện thoại với máy tính của tôi qua cổng USB, tôi phải kết nối trực tiếp nó với máy mac của mình và gỡ lỗi bắt đầu hoạt động.


1

Trong trường hợp của tôi, tôi đã quên minifyEnabled = true và ReduceResources = true trong buildType gỡ lỗi của mình. Tôi thay đổi các giá trị này thành false, nó đã hoạt động trở lại!

nhập mô tả hình ảnh ở đây


0

Dưới đây là một số lỗi nhỏ có thể mắc phải: Bạn khá dễ vô tình gõ vào một bộ lọc cho cửa sổ xuất logcat (hộp văn bản có kính lúp) và quên nó đi. Điều đó sẽ có khả năng lọc ra tất cả đầu ra và làm cho nó trông giống như không có gì ở đó.


0

Trong trường hợp của tôi, tôi đã gặp vấn đề tương tự vì tôi cố gắng gỡ lỗi apk đã ký. Trong cấu hình gradle của mình, tôi đã tạo các biến thể bản dựng khác nhau và cố gắng gỡ lỗi bản dựng phát hành bằng product keystore.jks


0

Điều gì phù hợp với tôi trong Android Studio 3.2.1

Là:

RUN -> Attach debugger to Android Process --> com.my app


0

Khởi động lại máy chủ adb, từ android studio: Công cụ -> " Khắc phục sự cố kết nối thiết bị "

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.