안드로이드 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 500
Es 탐색기를 시작합니다.
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
'Programing' 카테고리의 다른 글
Swift String에서 문자를 바꾸는 방법은 무엇입니까? (0) | 2020.02.18 |
---|---|
C # nullable int를 int로 변환하는 방법 (0) | 2020.02.18 |
여러 $ scope 속성보기 (0) | 2020.02.18 |
CSS를 사용하여 오른쪽에서 배경 이미지 오프셋 (0) | 2020.02.18 |
List에서 요소를 제거하려고 할 때 UnsupportedOperationException이 발생하는 이유는 무엇입니까? (0) | 2020.02.18 |