답변:
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
function androidrun(){ ant clean debug adb shell am start -n $1/$1.MainActivity }
사용하도록했습니다.androidrun com.example.test
adb logcat | grep --line-buffered ActivityManager | grep --line-buffered
을 사용하여 표시된 모든 응용 프로그램을 나열했습니다.
다음 패턴을 따라 원숭이 도구를 사용하여 패키지 이름을 지정하는 응용 프로그램을 실행할 수 있습니다 .
adb shell monkey -p your.app.package.name -c android.intent.category.LAUNCHER 1
명령은 응용 프로그램에 대한 임의의 입력을 생성하는 원숭이 도구를 사용하여 응용 프로그램을 실행하는 데 사용됩니다. 명령의 마지막 부분은 정수로, 앱에 대해 생성 된 임의의 입력 수를 지정합니다. 이 경우 숫자는 1이며, 실제로 앱을 시작하는 데 사용됩니다 (아이콘 클릭).
adb shell monkey -p your.app.package.name 1
adb shell am startservice com.some.package.name/.YourServiceSubClassName
경우 여기를 참조하십시오 : stackoverflow.com/a/18703083/211292
또는 이것을 사용할 수 있습니다 :
adb shell am start -n com.package.name/.ActivityName
monkey -p com.package.name 1
viaadb shell
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 스토어 액티비티가 표시됩니다 ( 그런 다음 앱이 필요합니다). 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 파일 을 재생 합니다
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 탐색기를 시작합니다.
열 ~ / .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
app-debug
?
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 com.google.android.apps.photos/.home.HomeActivity -d file:///mnt/user/0/primary/Pictures/Screenshots/Screenshot.png
최신 안드로이드에서 작동하며 이미지를 열 특정 응용 프로그램을 제공 할 때 열려있는 응용 프로그램을 선택하지 않습니다.