Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
3.0.0
-
None
Description
Problem
(https://github.com/apache/cordova-android/pull/77)
Currently start-emulator script doesn't exist early on Linux if a fatal error happens.
This means you need to wait 300 seconds (default timeout) before you receive first feedback from the cli tool that something is wrong. An even then (after a timeout), it's hard to debug the problem because adb stdout and stderr are simply redirected /dev/null. This makes it for a bad UI and a frustrated user.
For example:
....
Waiting for emulator.....
If I run the emulator manually I see it produces a fatal error:
emulator: ERROR: unknown skin name 'WVGA800'
Proposed Solution
This branch does the following:
Modify the emulator start script to redirect log to a temporary file. This way it's easier to debug actual issues.
Modify wait_for_emulator function to exit immediately and print an error if a fatal error is detected while starting the emulator
Example output with my change:
Saving emulator log to: /tmp/tmp.VTOblrPktV
Emulator failed to start, fatal error detected
Error: emulator: ERROR: unknown skin name 'WVGA800'
Full log available at: /tmp/tmp.VTOblrPktV
Exiting...
Github pull request with a patch for the proposed solution is available at https://github.com/apache/cordova-android/pull/77. Once people are pleased with the patch, I'll attach final version to this ticket.