@@ -95,7 +95,16 @@ ra_log "Installed instrumentation targets:"
9595adb_target shell pm list instrumentation || true
9696
9797if [ -z " $PACKAGE_NAME " ]; then
98- PACKAGE_NAME=" $( adb_target shell pm list instrumentation 2> /dev/null | sed -n ' s/.*target=\([^)]*\)).*/\1/p' | tr -d ' \r' | head -n 1 || true) "
98+ PACKAGE_NAME=" $(
99+ adb_target shell pm list instrumentation 2> /dev/null \
100+ | tr -d ' \r' \
101+ | awk '
102+ match($0,/target=\([^)]*\)/){
103+ s=substr($0,RSTART+7,RLENGTH-8);
104+ print s; exit
105+ }'
106+ || true
107+ ) "
99108 if [ -n " $PACKAGE_NAME " ]; then
100109 ra_log " Detected application package from instrumentation list: $PACKAGE_NAME "
101110 fi
@@ -133,14 +142,26 @@ else
133142 MAIN_ACTIVITY=" $( printf ' %s\n' " $RESOLVE_OUTPUT " | awk ' NF && $1 ~ /\// {print $1; exit}' ) "
134143 if [ -z " $MAIN_ACTIVITY " ]; then
135144 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) "
145+ MAIN_ACTIVITY=" $(
146+ printf ' %s\n' " $RESOLVE_OUTPUT " \
147+ | awk '
148+ match($0,/name=([^ ]+)/){
149+ print substr($0,RSTART+5,RLENGTH-5); exit
150+ }'
151+ ) "
137152 fi
138153 if [ -n " $MAIN_ACTIVITY " ] && [[ " $MAIN_ACTIVITY " != * /* ]]; then
139154 MAIN_ACTIVITY=" $PACKAGE_NAME /$MAIN_ACTIVITY "
140155 fi
141156 if [[ -z " $MAIN_ACTIVITY " || " $MAIN_ACTIVITY " != * /* ]]; then
142157 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) "
158+ MAIN_ACTIVITY=" $(
159+ printf ' %s\n' " $RESOLVE_OUTPUT " \
160+ | awk '
161+ match($0,/cmp=([^ ]+)/){
162+ print substr($0,RSTART+4,RLENGTH-4); exit
163+ }'
164+ ) "
144165 fi
145166 if [[ -z " $MAIN_ACTIVITY " || " $MAIN_ACTIVITY " != * /* ]]; then
146167 OUTPUT_SNIPPET=" $( printf ' %s\n' " $RESOLVE_OUTPUT " | head -n 5) "
@@ -155,9 +176,14 @@ else
155176 fi
156177fi
157178
158- sleep 5
179+ adb_target shell << EOF || true
180+ while [[ "\$ (dumpsys window windows | grep mFocussedApp | grep -c '$PACKAGE_NAME ')" -eq 0 ]]; do
181+ sleep 0.5
182+ done
183+ EOF
184+ sleep 1
159185
160- SCREENSHOT_DEVICE_PATH=" /sdcard/Download/ cn1-instrumentation-screenshot.png"
186+ SCREENSHOT_DEVICE_PATH=" /sdcard/cn1-instrumentation-screenshot.png"
161187SCREENSHOT_DIR=" $REPO_ROOT /out/android-emulator"
162188SCREENSHOT_PATH=" $SCREENSHOT_DIR /hello-codenameone.png"
163189mkdir -p " $SCREENSHOT_DIR "
0 commit comments