Issue
I've spent whole day trying all methods found in multiple questions here on stackoverflow and dozens of google results (short summary):
- Restart computer
- Delete and recreate AVD
- Change AVDs Graphic to Software (both in the AVD manager and directly in file)
- Reinstall Emulator in SDK manager (all possible ways - update, delete and reinstall, reinstall on demand when starting AVD)
- Reinstall HAXM
- Reinstall Android studio
- Check all Android versions in SDK manager
- Start AVD from command line (this method is important for this post)
- probably something more
- ... and this everything several times in different order and combinations
Then I've found this comment reply under (this) video on youtube:
I managed to fix the issue after looking for it for 5 hours. There is no error message when I tried to run from the android studio. However, running the emulator the terminal will print the error message and this will help a lot. Run from terminal: /Users/hendrysetiadi/Library/Android/sdk/emulator/emulator emulator -avd Pixel_4_API_29 My error message is like below: emulator: Android emulator version 30.5.0.0 (build_id 7145572) (CL:N/A) dyld: Library not loaded: /System/Library/Frameworks/IOUSBHost.framework/Versions/A/IOUSBHost Referenced from: /Users/hendrysetiadi/Library/Android/sdk/emulator/qemu/darwin-x86_64/qemu-system-x86_64 Reason: image not found Abort trap: 6 I managed to get the IOUSBHost.framework from my friend laptop and then upload it to google drive (in zip format) I follow the steps in here https://apple.stackexchange.com/questions/300222/accidentally-deleted-a-system-framework-macos-screwed The steps are - restart mac and command+R to show recovery option, choose safari icon to launch safari in recovery mode - In safari, open the google drive link I have uploaded earlier, then download the zip file directly into /System/Library/Frameworks/ (it will automatically unzip) - restart the laptop. - Done
That was exactly the same error I got using command line method.
The problem is, that I do net have access to another computer running OSX - Mojave in my case. But I don't know if the os version is that important.
My question is: "Is anybody capable and willing to provide the file IOUSBHost.framework found in /System/Library/Frameworks/ from OSX (Mojave at best) and post the link here?" Preferably in zip, but I can manage this myself.
I will immediately test the method and if it will work I will host the file myself (to maintain availability and to free the poster`s resources) and create solution answer here.
Thank you
Solution
EDIT:
After update to Android Emulator 30.5.4.0 the framework is no longer required. Google has probably fixed that.
After further research and thanks to comments here, and especially answer by Don Pato it became clear that after Android emulator update to version 30.5.3.0 it starts to show given error on OSX Mojave and older because of missing framework.
There are 2 obvious solutions for this situation + this one:
- Update OS
- Downgrade Android emulator (along with Android studio itself)
- This solution
The first solution can be unable due to some other software compatibility and the second can be impractical because older emulator is able to run Android API 29 max.
Thanks to original author (Hendry Setiadi) of mentioned Youtube comment who provided required file (he is the hero here), the problem can be solved avoiding 2 previous options. I had to change a little his steps, because I could not directly download the file in Safari in recovery mode due to "disk out of space" error.
The solution process:
- Download missing framework from following link: https://www.dropbox.com/s/i9bzzw5sr0s7e81/IOUSBHost.framework.zip?dl=0
- Unizp
- Now it is necessary co get the file IOUSBHost.framework to /System/Library/Frameworks which is system read-only dir. Who knows how to do it, can stop reading and just do it. I did it by following steps - some of them might be unnecessary.
- Restart to recovery with Cmd+R and in Utilities start terminal to disable System Integrity Protection with
csrutil disable - Reboot to system and mount system writable by putting in terminal
sudo mount -uw / - Now you can copy the file - I did it in Finder (mac user password was required)
- Don't forget to turn SIP on again in recovery by
csrutil enable
Start your AVD!
Answered By - Uli
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.