@@ -129,10 +129,23 @@ if adb_target shell monkey -p "$PACKAGE_NAME" -c android.intent.category.LAUNCHE
129129 ra_log " Application launch via monkey succeeded"
130130else
131131 ra_log " Failed to launch $PACKAGE_NAME via monkey; attempting explicit resolve" >&2
132- MAIN_ACTIVITY=" $( adb_target shell cmd package resolve-activity --brief -a android.intent.action.MAIN -c android.intent.category.LAUNCHER " $PACKAGE_NAME " 2> /dev/null | tr -d ' \r' | tail -n 1) "
133- MAIN_ACTIVITY=" ${MAIN_ACTIVITY##* } "
132+ RESOLVE_OUTPUT=" $( adb_target shell cmd package resolve-activity --brief -a android.intent.action.MAIN -c android.intent.category.LAUNCHER " $PACKAGE_NAME " 2> /dev/null | tr -d ' \r' ) "
133+ MAIN_ACTIVITY=" $( printf ' %s\n' " $RESOLVE_OUTPUT " | awk ' NF && $1 ~ /\// {print $1; exit}' ) "
134+ if [ -z " $MAIN_ACTIVITY " ]; then
135+ RESOLVE_OUTPUT=" $( adb_target shell cmd package resolve-activity -a android.intent.action.MAIN -c android.intent.category.LAUNCHER " $PACKAGE_NAME " 2> /dev/null | tr -d ' \r' ) "
136+ MAIN_ACTIVITY=" $( printf ' %s\n' " $RESOLVE_OUTPUT " | sed -n ' s/.*name=\([^ ]*\).*/\1/p' | head -n 1) "
137+ fi
138+ if [ -n " $MAIN_ACTIVITY " ] && [[ " $MAIN_ACTIVITY " != * /* ]]; then
139+ MAIN_ACTIVITY=" $PACKAGE_NAME /$MAIN_ACTIVITY "
140+ fi
141+ if [[ -z " $MAIN_ACTIVITY " || " $MAIN_ACTIVITY " != * /* ]]; then
142+ RESOLVE_OUTPUT=" $( adb_target shell dumpsys package " $PACKAGE_NAME " 2> /dev/null | tr -d ' \r' ) "
143+ MAIN_ACTIVITY=" $( printf ' %s\n' " $RESOLVE_OUTPUT " | sed -n ' s/.*cmp=\([^ ]*\).*/\1/p' | head -n 1) "
144+ fi
134145 if [[ -z " $MAIN_ACTIVITY " || " $MAIN_ACTIVITY " != * /* ]]; then
135- ra_log " Unable to resolve launchable activity for $PACKAGE_NAME (cmd package output: ${MAIN_ACTIVITY:- <empty>} )" >&2
146+ OUTPUT_SNIPPET=" $( printf ' %s\n' " $RESOLVE_OUTPUT " | head -n 5) "
147+ ra_log " Unable to resolve launchable activity for $PACKAGE_NAME ; resolve-activity output snippet:" >&2
148+ printf ' %s\n' " ${OUTPUT_SNIPPET:- <empty>} " >&2
136149 exit 1
137150 fi
138151 ra_log " Resolved main activity $MAIN_ACTIVITY ; starting via am"
0 commit comments