Android Studio에서 앱을 디버깅 할 수 없음


81

Android Studio에서 앱을 만들고 있으며 이제 adb를 통해 디버그하려고합니다. Android라는 단어와 하단 표시 줄의 로고를 클릭하면 logcat이 나타나 내 장치를 인식합니다. 그러면 나는 이것을 본다.

스크린 샷

내 앱을 "디버깅 가능"하게하려면 어떻게해야합니까?

참고로 이전에 Eclipse에서이 앱을 개발하고 있었는데 adb가 잘 작동했습니다.


해결책을 찾았습니까?
Paul

장치에서 응용 프로그램을 제거하고 안드로이드 스튜디오에서 다시 실행하는 것은 내 문제 해결
아마드 Behzadi을

3
오늘 문제가 생겼는데 중단 점이 프로그램을 멈출 수 없습니다. 그리고 그것은 build.gradle의 설정 때문이었습니다. minifyEnabled가 true 인 디버그 빌드 유형을 설정하고 이것을 제거하면 중단 점이 작동합니다.
Castle bai

여기 내 대답을 살펴보십시오 . 문제가 해결 될 수 있음
Muahmmad Tayyib

답변:


85

도구 모음에 디버그 아이콘 이 있습니다 . 작은 "버그" 처럼 보이며 실행 아이콘 (재생 버튼 모양) 바로 옆에 있습니다 . 그것으로 응용 프로그램을 시작하십시오.

디버그하려면 여기를 클릭하십시오.

편집 : Gradle과 함께 Android Studio를 사용할 때 다음은 더 이상 사용되지 않습니다.

AndroidManifest.xml 파일 에도 디버그 플래그가 있습니다. 애플리케이션 태그 아래에 있으며 다음과 같이 "true"로 설정해야합니다.

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

1
Eclipse 에서처럼 한 번에 한 줄씩 이동할 수 있습니까? 가능하다면 어떻게해야합니까?
아리 R. Fikri

1
물론 넌 할 수있어. 중단 점에 도달하면 디버그 창이 표시되고 상단의 도구 모음에는 다양한 단계 명령이 포함됩니다. File-> Settings-> -> Keymap아래에 있는 다양한 디버그 키보드 단축키를 구성 할 수도 있습니다 . 자세한 정보는 이것을 참조하십시오 . Main menuRun
free3dom

7
최신 버전의 Android 스튜디오는 android : debuggable을 설정하도록 요구하지 않습니다. 사실 매니페스트가 아닌 구성에서 설정하도록 제안하는 물결 모양의 표시가 나타납니다. 이는 디버그 정보가있는 앱을 실수로 게시하는 것을 방지하는 데 도움이됩니다.
Soundararajan 2015 년

3
작동하지 않음 2015, build.gradle put buildTypes {debug {debuggable true

2
그것은 나의 일이다. 매니페스트 <application android : debuggable = "true"> </ application>에 넣고 완벽하게 디버그합니다. 감사합니다
앤디 루이스

111

다음 단계를 수행 한 후이 문제를 해결했습니다.

Tools ==> android ==> ADB 통합 비활성화로 이동하고 다시 활성화하십시오.

그런 다음 장치에서 USB를 분리하고 다시 연결하십시오.

마지막으로 Shift + F9를 누릅니다.


이것이 나를 도왔습니다. 이것이 다시 작동 한 후 갑자기 디버그 작동이 중지되었습니다.
Rui Santos

오늘부터 작업을 시작하고 다시 시작해 보았습니다.
Mathijs SEGERS

1
버그가 작동하도록하려면 해당 프로젝트 인스턴스에 대한 android studio를 닫았다가 다시 열어야했습니다. /
Rachael

18
Android Studio 버전 3.1.3에는 "Tools ==> android"라는 메뉴 항목이 없으며 어디
James Watkins

1
어디서나 안드로이드 스튜디오 메뉴에 없음 "ADB"옵션 없음 4
spartygw

34

주의해야 할 또 다른 사항 (이렇게해서 알아요). 디버그를 위해 Proguard를 활성화하지 마십시오!


6
덕분에 minifyEnabled의 거짓과 shrinkResources의 거짓했습니다과
Janardhan R

16

Android Studio에서 여러 번 디버깅 한 후에도 무작위 로이 문제가 발생했습니다. 언젠가 디버거가 연결되지 않습니다. Android Studio를 종료하고 다시 열면 디버거가 다시 작동하기 시작했습니다.


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

더 이상 작동하지 않습니다! 매니페스트에서 debuggable = "true"를 사용할 필요가 없습니다.

대신 빌드 변형을 "디버그"로 설정해야합니다.

디버그 모드

Android Studio에서 BUILD 로 이동 -> Build Variant 선택

이제 디버깅을 시도하십시오. 감사


Build 메뉴에는 "Select Build Variant"옵션이 없습니다.
Pete Alvin

14

이것은 나를 위해 일했습니다.

  1. Android Studio를 닫습니다.
  2. 셸을 열고 다음과 같이 작성합니다.

    adb kill-server

    adb start-server


내가 찾던 바로 그것. 이전에,이 간단한에 함께 할 얻을 수있는 adb reconnect명령하지만, 어쩌면 내가 충분히 뭔가 잘못을하고, 또는 아니에요 AS 3.1 (에서 더 이상이 작업을 수행하지 않는 이유는 무엇입니까?
VictorB

Btw,이 솔루션은 AS 또는 터미널 세션을 닫지 않고 저에게 효과적이었습니다.
VictorB

11

ADB 통합을 활성화했는지 확인하십시오.

메뉴에서 : 도구-> Android-> ADB 통합 활성화 (v1.0)


11

응용 프로그램을 디버깅 할 수 있었는데 갑자기 더 이상 디버깅 할 수없는 경우 여기에 내 솔루션이 있습니다.

  1. USB debug전화기에서 스위치를 비활성화하고 활성화 하십시오.
  2. 애플리케이션을 제거하십시오.
  3. Android Studio에서 실행을 클릭하십시오.

8

Android 스튜디오에서 애플리케이션을 디버깅 할 수없는 한 가지 경우는 'release'빌드 변형을 선택한 경우입니다. 나에게 일어난 일-Gradle이 앱의 릴리스 버전 (디버깅 할 수 없음)을 빌드 한 다음 Android Studio가 디버거 연결에 실패합니다.


1
이것은 다른 IDE에서도 여러 번 나를 넘어 뜨 렸습니다. 릴리스 디버그 기능은 대부분의 IDE에서 구성 할 수 있으며 릴리스 된 앱에 디버거를 연결하려는 경우 때때로 권장됩니다.
visc

7

이것은 때때로 나에게 발생하며 아직 그 이유를 파악하지 못했습니다. 이미 게시 된 솔루션 중 어느 것도 나를 위해 일하지 않았습니다. 나를 위해 작동하는 유일한 것은 다음과 같습니다.

  1. 장치에서 응용 프로그램을 제거합니다.
  2. 깨끗한 프로젝트. "빌드-> 클린 프로젝트."
  3. 다시 빌드하고 설치하십시오.

7

Manifest 파일에서 사용자 정의 "android : process"를 설정할 때 "디버거를 Android 프로세스에 연결"아이콘이 사용됩니다.
제 경우에는 적절한 프로세스를 선택하고 "Wait for debugger"대화 상자가 나타난 직후에 OK 버튼을 클릭해야합니다.
여기에 이미지 설명 입력


끔찍한 해결 방법이지만 지금 당장 나를 위해 일하는 유일한 것은 감사합니다!
Jules

Manifest 파일에 사용자 정의 "android : process"가 없더라도 나를 위해 일했습니다.
Jason Bowers

이것이 나를위한 해결책이었습니다. 감사합니다
gmartinsnull 2010 년

4

디버그 버튼 옆의 드롭 다운 메뉴에서 앱 프로젝트가 선택되어 있는지 확인합니다. 때때로 Android Studio는이 선택을 재설정합니다.

여기에 이미지 설명 입력


4

활성화하면

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

애플리케이션 manifest.xml 에서 최종 서명 된 apk를 생성 할 때이를 비활성화해야합니다. 이는 공격자의 보안 루프 홀 역할을 할 수 있기 때문입니다. 애플리케이션 중 하나만 로그를 표시하지 않는 경우에만 사용하십시오. 그러나 해당 옵션을 고려하기 전에 다음을 시도하십시오.

Android Studio의 도구로 이동

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

3

또한 예를 들어 Eclipse와 같이 ADB를 사용하는 다른 응용 프로그램을 사용하고 있지 않은지 확인하십시오.


3

나는 모든 방법을 테스트했지만 그들 중 아무것도 작동하지 않았습니다 !!!

마침내 adb 포트를 변경해야했고 작동했습니다. 먼저 아래와 같이 adb 서버를 종료하십시오.

adb kill-server

그런 다음 다른 포트를 사용하여 다시 시작하십시오.

adb -P 5038 start-server

3

아래 명령을 사용하여 클린 빌드를했습니다. 놀랍게도 효과가있었습니다.

sh gradlew 깨끗한 빌드

누군가가 도움을 받기를 바랍니다!


1
어떤 콘솔에서 시작해야합니까?
DmitryBoyko

외부 단자에서 프로젝트에 안드로이드 스튜디오 터미널이나 탐색에서이 명령을 실행
하이더 알리

3

내 경우에는 줄 근처에 빨간색 원이 빨간색 원과 함께 빨간색 원이 표시되고 "행에서 실행 가능한 코드를 찾을 수 없습니다 ..."라는 메시지와 함께 표시 됩니다 .

을 (를) 업데이트 한 후 문제가 발생했습니다 build.gradle. Kotlin 지원이 포함되어 많은 메서드가 64K를 초과했습니다. 문제 라인 :

buildTypes {
    debug {
        minifyEnabled true

다음과 같이 변경하십시오.

buildTypes {
    debug {
        minifyEnabled false
        debuggable true

그런 다음 "Sync Project with Gradle Files"버튼으로 gradle을 동기화합니다. 애플리케이션을 다시 시작한 후 "오류 : .dex 파일의 메서드 참조 수는 64K를 초과 할 수 없습니다. https://developer.android.com/tools/building/ 에서이 문제를 해결하는 방법을 알아보세요. multidex.html "그런 다음 .dex 파일의 메서드 참조 수는 64k API 17을 초과 할 수 없습니다 . 다음 줄을 다음에 추가합니다 build.gradle.

android {

    defaultConfig {
        ...

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

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

최신 정보

에 따르면 https://developer.android.com/studio/build/multidex.html 안드로이드 5.0 아래 multidex 지원을 활성화하려면 다음을 수행하십시오. 그렇지 않으면 이러한 장치에서 시작되지 않습니다.

AndroidManifest태그를 열고 찾습니다 <application>. Near android:name=는 Application 클래스에 대한 참조입니다. 이 수업을 엽니 다. 다음과 MultiDexApplication같이 응용 프로그램 클래스를 확장하십시오 .

public class MyApplication extends MultiDexApplication { ... }

애플리케이션 클래스가 설정되지 않은 경우 다음과 같이 작성하십시오.

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

2

장치 또는 에뮬레이터에서 개발자 모드 및 USB 디버깅을 활성화해야합니다. (새로 설정할 때 잊기 쉽습니다.)


2

또한 Tools-> Android-> Enable ADB Integration이 활성화되어 있어야합니다.


2

Run-> Edit Configurations로 이동하여 프로젝트를 선택하고 Debugger 탭을 선택한 다음 'Debug type'을 'Auto'에서 'Dual'로 변경하여 문제를 해결할 수있었습니다.여기에 이미지 설명 입력


1

이것은 내 문제를 해결했습니다. 기기에서 앱을 제거하고 Android 스튜디오를 통해 다시 실행하세요.


1

저에게는 Proguard를 사용할 때 발생했기 때문에 모든 솔루션을 시도하여 프로젝트를 정리하고 Android Studio에서 디버그 버튼을 누르면 디버깅이 시작되었습니다.


1
나는 android studio 4.1 에서이 문제에 직면했고 귀하의 솔루션이 나를 도왔습니다. 감사합니다
Buckstabue

1

제 경우에는 텍스트 파일을 완전히 지우고 build.gradle 파일을 proguard-rules.pro만들어 디버그 빌드 유형에서 proguard를 제거해야했습니다.minifyEnabled false

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

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

위의 코드는 더 이상 해결책이 아닙니다. build.gradle 파일 내에서 디버깅을 활성화해야합니다. 빌드 유형이 다른 경우 빌드 유형 중 하나에서 "debuggable true"를 설정해야합니다. 다음은 내 프로젝트 중 하나의 샘플 코드입니다.

buildTypes {
    debug {
        debuggable true
    }

    release {
        debuggable false
    }
}

**이 질문과 관련이없는 buildTypes 내부의 다른 줄을 여기 내 gradle 파일에서 삭제했습니다.

또한 디버깅을 수행하는 동안 Android 스튜디오에서 올바른 빌드 변형을 선택했는지 확인하십시오.

여기에 이미지 설명 입력


1

수년 동안 나는이 스레드를 여러 번 방문했으며 항상 나를 도왔던 다른 반응이있었습니다. 이번에는 디버거가 제대로 작동하지 않는 것이 USB 허브라는 것을 알았습니다. 이상하게 들리 겠지만 USB 허브를 통해 휴대폰을 컴퓨터에 연결하는 대신 Mac에 직접 연결해야했고 디버깅이 작동하기 시작했습니다.


1

제 경우에는 디버그 buildType에서 minifyEnabled = true 및 shrinkResources = true를 잊었습니다. 이 값을 false로 변경하면 다시 작동합니다!

여기에 이미지 설명 입력


0

여기에 약간의 문제가있을 수 있습니다. 실수로 logcat 출력 창 (돋보기가있는 텍스트 상자)에 필터를 입력하고 잊어 버리는 것은 매우 쉽습니다. 잠재적으로 모든 출력을 필터링하여 아무것도없는 것처럼 보이게합니다.


0

제 경우에는 서명 된 APK를 디버깅하려고했기 때문에 동일한 문제가 발생했습니다. 내 gradle 구성에서 다른 빌드 변형을 만들고 프로덕션 keystore.jks로 릴리스 빌드를 디버그하려고 시도합니다.


0

Android Studio 3.2.1에서 나를 위해 일한 것

였다:

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


0

Android 스튜디오에서 adb 서버를 다시 시작합니다. 도구-> " Troubleshhot Device Connection "

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.