2013-08-29 4 views
6

ADB 사용에 관해 질문이 있습니다.ADB를 통해 현재 실행중인 액티비티를 얻는 방법

adb shell dumpsys activity 

나에게 현재 장치에서 실행중인 모든 활동을 표시 할 수 있습니다 :

나는이 명령 것을 알고있다.

하지만 때로는 의도는 다음과 같이 나타나는지주의 사항 :

Intent { ...some_intent/activity_name.... (has extras) } 

나는 엑스트라 활동이 전달 된 매개 변수의 일종으로 시작되었음을 의미하는 것을 알고있다 (I, 여기에 잘못하십시오 수 있습니다 내가있는 경우에 나를 정정하십시오).

제 질문은 ADB를 통해 의도/활동의 추가 정보를 얻는 방법은 무엇입니까? 내가 ADB 명령을 통해 (즉 전화에 설치되어있는)를 APK를 시작하려고 해요 때문에

나는이 필요한 이유는, 뭔가 같은 : 작동하고 응용 프로그램을 나타

adb shell "su -c 'am start -n com.package.name/.ActivityName'" 

. 응용 프로그램에는 시작 화면이 있으며 (HomeActivity라고 함) 단추를 클릭하고 일부 선택 (SelectionActivity)을하고 다른 화면 (ActionActivity)으로 이동해야합니다. 나는 apk를 시작하고 그것을 ActionActivity로 곧장 가게 할 수 있기를 원한다.

오전 시작 명령으로 ActionActivity를 시작하려고하면 응용 프로그램이 중단됩니다. SelectionActivity 화면의 매개 변수가 필요하기 때문에 응용 프로그램이 작동한다고 가정합니다.

adb shell "su -c 'am start -n com.package.name/.ActionActivity -e param1 val1 -e param2 val2'" 

내 질문은 분명하다 희망 : 내가 좋아하는 뭔가를 할 수 있도록 내가는 ActionActivity 화면이 실제로 얻는 "엑스트라"또는 매개 변수가 무엇인지 볼려고하는 이유는

.

어딘가에서 실수를 저 지르면 나를 바로 잡으십시오.

미리 감사드립니다.

+0

를 인쇄 할 수있는 ActivityThread 클래스의 소스 코드를 인쇄 할 AMS에서 덤프 방법을 수정 lps : [계측 명령에서 adb 쉘을 사용하여 시작한 테스트 함수에 매개 변수를 전달하는 방법은 무엇입니까?] (http://stackoverflow.com/a/3229077/2558882). – Vikram

+0

엑스트라가 누락되었음을 어떻게 알 수 있습니까? 첫 번째 활동은 다른 작업을 수행 할 수 있습니다. BTW, 보통'su'가'am'을 실행하는 데 필요하지 않습니다. –

+0

당신은 이것에 대한 답을 알아 냈습니까?나는 똑같은 일을하려하고있다. –

답변

2

제대로 이해하고 있다면 올바른 행동으로 '행동'활동을 시작하는 것이지만 어떤 종류의 매개 변수 정보를 포함해야하는지 모릅니다. 맞습니까?

  1. : 단순히 당신의 목표를 달성 할 수 있도록 dumpsys 명령은, 당신이 원하는 모든 것을 덤프하지 않습니다

    , 당신은 두 가지 옵션이 있습니다 (당신은 당신이 그것으로 자신의 펌웨어를 구울 수있는 하나 개의 장치를 찾아야한다) 그는이 경우 자세한 내용

  2. 수정에게 자세한 의도 정보

+0

안녕하세요 Robin, 답변 해 주셔서 감사합니다. APK가 내 것이 아니기 때문에 ActivityThread 클래스 소스 코드를 수정할 수 없으므로 소스 코드를 수정할 수있는 방법이 없습니다. – JJackJi

+0

안녕하세요 Robin, 답변 해 주셔서 감사합니다. 불행히도 apk가 내 것이 아니기 때문에 ActivityThread 클래스 소스 코드를 수정할 수 없으므로 소스 코드를 수정하여 추가로 인쇄 할 수있는 방법은 없습니다. dumpsys 메서드를 수정하는 방법은 저에게는 옵션이 아닌 것 같습니다. 내 프로젝트에서는 현재 전화 상에있는 펌웨어를 사용해야합니다. 이것을 구현하는 내장형 adb 명령이 있습니까? 감사합니다. – JJackJi

+0

내말은, 정보를 얻고 싶다는 것입니다. 따라서 사용자 정의 된 펌웨어를 사용하여 원하는 정보를 얻을 수 있습니다. 사용자 정의 된 펌웨어로 dumpsys 또는 활동 스레드 소스 코드를 수정할 수 있습니다. 둘 다 프레임 워크 소스 코드입니다. 이는 목표 달성을위한 방법 일뿐입니다. – Robin

관련 문제