2017-05-21 4 views
2

위젯을 만들면서 Android Studio 2.3.2 (최신)를 사용하고 있으며 디버거가 거의 불가능하다는 것을 알고 있습니다.디버깅 안드로이드 위젯

문제 1 : com.example : 온라인 와서 응용 프로그램을 기다리는

: (물리적 장치와 가상 모두) "디버그 응용 프로그램"옵션을 사용하는 경우, 그것은 단지의 시리즈를 통해 이동합니다. [신청] | com.example. [어플리케이션] .test

최종적

원격 프로세스에 연결할 수 있다고 말한다. 디버그 세션을 중단합니다.

문제 2 : 나는 좀 인내, 수동으로 디버거를 연결할 수 있습니다 발견하지만, 위젯 과정은 그 자체에 중지가 발생했을 때 디버거를 분리 보인다.

질문 : 방해받지 않는 위젯 디버깅을 허용하는 방법이 있습니까? 자동 디버거 부착은 보너스가됩니다.

편집 : 자동 공정 폐쇄가 보였다에 발생한 예외에 의해 발생 된 충돌이 (OS에 의해 예고없이) : 문제 2

솔루션. logcat을 활성화하고 다음과 같은 오류 메시지를 표시하면 가능한 원인을 추적하여 수정하는 데 도움이되었습니다. 이 후 필자는 수동으로 부착 한 경우에도 디버거를 연결 상태로 유지할 수있었습니다.

답변

1

Android Widgets이 기기의 Android 런처 프로세스에서 실행되는 프로세스에서 실행되지 않는다는 것을 기억하십시오.

그러면 디버거를 실행 프로그램 프로세스에 연결해야합니다 (com.example.[application] 아님).


당신이 로그에 나를 가리키는 위해

+0

와우, 감사 :-) 로그를 많이 추가 할 수 있습니다 실패. 아직 100 % 확신 할 수는 없지만 예외가 발생하여 프로세스 종료가 발생할 수 있다고 생각합니다. logcat을 활성화 할 때까지는 알지 못합니다. 디버거가 위젯 자체의 프로세스 (실행 프로그램이 아닌)에 연결되어 있음을 확인할 수 있습니다. – Zero

+0

디버거를 해당 프로세스에 연결하는 방법은 무엇입니까? – alexpfx

+0

@alexpfx android studio에서 "디버거에 연결"을 선택하면 (디버그 모드로 실행되지 않음) 첨부 할 수있는 processess 목록이있는 대화 상자가 나타납니다. – Blundell