2012-08-01 4 views
0

Android 애플리케이션을 테스트하고 있습니다. 난 APKTOOL을 사용하여 디 컴파일/재 컴파일 (디버그 기호 사용). 디버그 코드 기호를 수행 한 다음 APK를 설치했습니다. 프로그램이 제대로 실행되는 것 같습니다.NetBeans 및 APK 디버깅 (재 컴파일, 기기에서)

APKTOOL에 따르면 NetBeans의 실행 프로세스에 연결할 수 있어야합니다. 하지만 localhost의 프로세스에만 연결할 수 있습니다. DDMS는 그림 1에 표시된대로 프로세스 트리와 관련 디버그 소켓을 표시하지 않습니다. Using DDMS. 이것은 릴리스 커널을 실행하고 있기 때문에 모든 응용 프로그램에서 예상되지만 대상 프로세스에서는 예기치 않게 발생합니다. DDMS를 사용하여 장치에서 PID를 찾았지만 NetBeans는 PID를 통해 연결하려고하면 "유효한 PID가 아닙니다"라고 주장합니다. NBAndroid 플러그인도 설치되어 있습니다.

NetBeans를 사용하여 장치에서 실행중인 프로세스에 연결하는 방법은 무엇입니까?

제프

+0

Eclipse 또는 IntelliJ로 전환 하시겠습니까? 진지하게, 나는이 대답으로 뒤집기는하지만, 나는 또한 진지해 보인다. Eclispe와 IntelliJ는 모두 Android 툴링에 대한 적극적인 개발자 지원을 제공하며 강력합니다. Netbeans를 고수한다면 개발자 도구를 사용하여 많은 시간을 할애 할 수 있습니다. – mportuesisf

+0

@mportuesisf - Eclipse에서 JPDA 디버깅이 중단되어 APKTOOL 페이지에 NetBeans 사용이 명시되어 있습니다. 더 이상 그렇지 않습니까? – jww

+0

Google ADT 플러그인을 통해 Android 앱에서 Eclipse 디버거를 항상 사용합니다. JPDA의 많은 부분이 Android에서 지원된다면 놀라실 것입니다. 안드로이드가 JDI 인터페이스 또는 JDWP 프로토콜을 사용하는지는 잘 모른다. 필자는 디버거가 Eclipse 용으로 작동한다는 것을 알고 있으며, 필자는 그것을 사용하지 않아도됩니다. – mportuesisf

답변

2

확인을 클릭하십시오. APKTOOL에 디버깅 정보 (예 : apktool -d ...)를 요청했지만이 도구는 잘 구성된 AndroidManifest.xml (또는 기존 매니페스트 수정)을 생성하지 않았습니다. 매니페스트에 application 요소에 android:debuggable="yes"이 없습니다. 또는 APKTOOL 설명서의 단계가 생략되었습니다 ...

"장치에서 응용 프로그램에 디버거를 연결할 수 없습니다", http://code.google.com/p/android-apktool/issues/detail?id=338.

또 다른 문제가 있습니다. NetBeans 7.2는 이전 버전의 NetBeans에서 Smali 파일을 사용할 수 없습니다. 따라서 디버거에서 중단 점을 설정할 수 없기 때문에 실시간 분석이 없습니다. NetBeans/Smali Debugging is Broken (SmaliDebugging Page)No MIME type for *.smali을 참조하십시오.