Programing

안드로이드 ADB 도구를 사용하여 응용 프로그램을 시작하는 방법은 무엇입니까?

lottogame 2020. 2. 18. 21:53
반응형

안드로이드 ADB 도구를 사용하여 응용 프로그램을 시작하는 방법은 무엇입니까?


Android의 ADB 도구를 사용하여 의도를 보내려면 어떻게해야합니까?


adb shell
am start -n com.package.name/com.package.name.ActivityName

또는 이것을 직접 사용할 수 있습니다.

adb shell am start -n com.package.name/com.package.name.ActivityName

인 텐트 필터로 필터링 할 동작을 지정할 수도 있습니다.

am start -a com.example.ACTION_NAME -n com.package.name/com.package.name.ActivityName 

다음 패턴을 따라 원숭이 도구를 사용하여 패키지 이름을 지정하는 응용 프로그램을 실행할 수 있습니다 .

adb shell monkey -p your.app.package.name -c android.intent.category.LAUNCHER 1

명령은 응용 프로그램에 대한 임의의 입력을 생성하는 원숭이 도구를 사용하여 응용 프로그램을 실행하는 데 사용됩니다. 명령의 마지막 부분은 정수로, 앱에 대해 생성 된 임의의 입력 수를 지정합니다. 이 경우 숫자는 1이며, 실제로 앱을 시작하는 데 사용됩니다 (아이콘 클릭).


또는 이것을 사용할 수 있습니다 :

adb shell am start -n com.package.name/.ActivityName

linux / mac 사용자는 다음과 같은 방법으로 apk를 실행하는 스크립트를 만들 수도 있습니다.

다음 세 줄로 "adb-run.sh"라는 파일을 만듭니다.

pkg=$(aapt dump badging $1|awk -F" " '/package/ {print $2}'|awk -F"'" '/name=/ {print $2}')
act=$(aapt dump badging $1|awk -F" " '/launchable-activity/ {print $2}'|awk -F"'" '/name=/ {print $2}')
adb shell am start -n $pkg/$act

그런 다음 "chmod + x adb-run.sh"를 실행 파일로 만듭니다.

이제 간단하게 할 수 있습니다 :

adb-run.sh myapp.apk

여기서 이점은 패키지 이름 또는 실행 가능한 활동 이름을 알 필요가 없다는 것입니다. 마찬가지로 "adb-uninstall.sh myapp.apk"를 만들 수 있습니다

참고 : 경로에 적응해야합니다. SDK의 새 빌드 도구 폴더에서 찾을 수 있습니다.


또한 한 가지 더 언급하고 싶습니다.

당신이에서 응용 프로그램을 시작하면 adb shell am, 자동으로 FLAG_ACTIVITY_NEW_TASK 플래그 추가 행동 변화한다. 코드를 참조하십시오 .

예를 들어에서에서 Play 스토어 액티비티를 시작한 경우 adb shell am' 뒤로 '버튼 (하드웨어 뒤로 버튼)을 눌러도 앱이 표시되지 않고 일부 앱이있는 경우 이전 Play 스토어 액티비티가 표시됩니다 (Play 스토어 작업이없는 경우) 그런 다음 앱이 필요합니다). FLAG_ACTIVITY_NEW_TASK 설명서 는 다음과 같이 말합니다.

현재 시작중인 활동에 대해 태스크가 이미 실행중인 경우 새 활동이 시작되지 않습니다. 대신, 현재 작업은 마지막 상태로 화면 전면으로 이동합니다.

이로 인해 몇 시간 동안 무엇이 잘못되었는지 알 수있었습니다.

따라서 adb shell am FLAG_ACTIVITY_NEW_TASK 플래그추가하십시오 .


애플리케이션 유형을 알고 데이터를 제공하여 애플리케이션을 시작할 수도 있습니다.

adb shell am start -d "file:///sdcard/sample.3gp" -t "video/3gp" -a android.intent.action.VIEW

이 명령은 사용 가능한 비디오 플레이어를 표시하여 sample.3gp 파일 을 재생 합니다


~ / .bash_profile을 하고 파일의 끝이 bash는 기능을 추가

function androidinstall(){
   adb install -r ./bin/$1.apk
}
function androidrun(){
   ant clean debug
   adb shell am start -n $1/$1.$2
}

그런 다음 Android 프로젝트 폴더를 엽니 다

androidinstall app-debug && androidrun com.example.app MainActivity

1 단계 : 먼저 다음을 사용하여 장치에 설치된 앱의 모든 패키지 이름을

adb shell pm list packages

가져옵니다. 2 단계 : 모든 패키지 이름을 가져옵니다 . adb 사용을 시작하려는 이름을 복사 합니다.

3 단계 : 아래 명령에서 원하는 패키지 이름을 추가하십시오.

adb shell monkey -p 'your package name' -v 500

예를 들어 :
adb shell monkey -p com.estrongs.android.pop -v 500Es 탐색기를 시작합니다.


monkey --pct-syskeys 0 개발 보드 용

이 인수가 없으면 키 / 표시가없는 개발 보드에서 앱이 열리지 않습니다.

adb shell monkey --pct-syskeys 0 -p com.cirosantilli.android_cheat.textviewbold 1

오류와 함께 실패합니다.

SYS_KEYS has no physical keys but with factor 2.0%

HiKey960, Android O AOSP에서 테스트되었습니다.

https://github.com/ARM-software/lisa/pull/408 에서 배웠습니다.

또한 문의 : monkey test : 안드로이드 시스템에 물리적 키가없는 경우 명령에 매개 변수를 포함 해야하는 것은 무엇입니까


adb shell am start -n '<appPackageName>/.<appActitivityName>

전의:

adb shell am start -n 'com.android.settings/.wifi.WifiStatusTest'

APK-INFO 애플리케이션을 사용하여 각 앱 패키지와 관련된 앱 활동 목록을 알 수 있습니다.


안드로이드 사진 앱을 열고 특정 이미지 파일을 매개 변수로 열려면 이것을 사용해보십시오.

adb shell am start -n com.google.android.apps.photos/.home.HomeActivity -d file:///mnt/user/0/primary/Pictures/Screenshots/Screenshot.png

최신 안드로이드에서 작동하며 이미지를 열 특정 응용 프로그램을 제공 할 때 열려있는 응용 프로그램을 선택하지 않습니다.

참고 URL : https://stackoverflow.com/questions/4567904/how-to-start-an-application-using-android-adb-tools

반응형