2012-07-05 2 views
10

현재 Eclipse에서 내 기기의 Android 애플리케이션을 디버그하려고합니다.Maven으로 빌드 된 Android 애플리케이션을 디버깅하는 방법

장치가 추가되었습니다. 콘솔과 이클립스 모두에서 볼 수 있습니다. 콘솔 (윈도우) :

adb devices 
List of devices attached 
0019cca27f2e6e device 

그리고 일식 :

enter image description here

나는 두 장치/시뮬레이터에 어떤 문제없이 응용 프로그램을 실행할 수 있습니다. 나는 단지 clean installandroid:deploy 다음에 android:run과 매력처럼 작동합니다. 그러나 나는 그것을 디버깅하는 방법을 아직 알 수 없다.

하지만 실제로 장치 (Samsung Galaxy SII)에서 앱을 실행하면이 두 프로세스가 실행되는 것을 볼 수 있습니다. com.viber.voipcom.viber.voip:keepAliveReceiver 실행해도 앱이 표시되지 않습니다. 그러나 시뮬레이터/에뮬레이터에서 내 애플 리케이션을 실행 볼 수 있습니다. 나는이 자료를 저점 갔어요

:

debugging an app startup with android maven plugin

How to start application in command line with Maven

http://code.google.com/p/maven-android-plugin/wiki/Debug

가 암호를 해독 할 수 없습니다. debug_app.cmd

<plugin> 
      <artifactId>exec-maven-plugin</artifactId> 
     <groupId>org.codehaus.mojo</groupId> 
     <configuration> 
      <executable>${basedir}/scripts/debug_app.cmd</executable> 
     </configuration> 
</plugin> 

내용 : 심지어 아래의 스크립트를 호출하여 디버깅을 시작 maven-exec-plugin와 노력, 여기에 치어의 해당 플러그인은

adb shell am start -D android.intent.action.MAIN -n my.package.name/.HelloAndroidActivity 

나는 다음과 같은 오류가이 플러그인을 실행하면 :

,536,913,632 : 여기
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] pkg=android.intent.action.MAIN } 
Error: Activity not started, unable to resolve Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=android.intent.action.MAIN } 

manifest.xml이 필요한 경우입니다

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" > 
</uses-permission> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" > 
</uses-permission> 
<uses-permission android:name="android.permission.SET_DEBUG_APP" > 
</uses-permission> 

<!-- <uses-permission android:name="android.permission.INTERNET" /> --> 

<application 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" > 
    <activity android:name=".HelloAndroidActivity" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".DisplayMessageActivity" > 
    </activity> 
</application> 

는 사람이 응용 프로그램을 구축 할 수 받는다는 사용하여 장치를 디버깅하기 위해 관리했습니다 (10) ?

질문 업데이트 :

android:debuggable="true" 내 응용 프로그램을 추가 한 후 장치 탭에 출연하지만, (나는 녹색 디버그 아이콘 아래을 클릭 할 때) 나는 다른 문제가 발생합니다.

아래를 참조하십시오 :

enter image description here

나는이 해결 (정답 외에 솔루션) 발견했습니다

:

http://code.google.com/p/android/issues/detail?id=9932

을 내가 대답을 수락 이하. 뿐만 아니라 유용 올 수도 :

https://groups.google.com/forum/?fromgroups#!topic/android-developers/DftP5gYcwYI

답변

2

나는 그것이 할 방법,

  1. 은의 AndroidManifest.xml 파일에 디버그 플래그를 사용합니다.
  2. 기기에 앱을 배포합니다. Eclipse 디버그 관리자에서 응용 프로그램의 프로세스 ID를 볼 수 있습니다.
  3. 이제 Eclipse 실행/구성 메뉴에서 원격 Java 응용 프로그램의 실행/디버그 구성을 구성하십시오.
  4. 구성의 모든 세부 사항을 입력하십시오. 포트 번호는 이미지 첨부 파일의 3 번째 열입니다.
  5. eclipse에서 "원격 Java 응용 프로그램 구성 실행"장치에서 응용 프로그램을 시작한 후.
  6. 응용 프로그램이 중단 점에 도달해야합니다.
+0

몇 가지가 변경되었습니다. 업데이트 된 질문입니다. 덕분에 – ant

+0

SDK Tools, Revision 8은 디버깅에 대한 지원을 제공했으며 개발자는 manifest 파일에 android : debuggable 속성을 포함 할 필요가 없습니다 (U는 http://stackoverflow.com/questions/23986724에서 자세히 이해할 수 있습니다)./can-not-set-debuggable-flag-in-androidmanifest-xml) –

관련 문제