I've setup an Android-x86 image (4.0-RC1-eeepc) in VirtualBox on a Dell Latitude D820. This particular ISO is not for the laptop, but of all available ISOs it works the best.
I have worked through some of the troubles I have come across (by not having an ISO for my device), but I haven't been able to get the sound working. The Android-x86 VirtualBox tutorial and other online resources directed me to use the ALSA driver with SoundBlaster 16, but this has not worked.
This question got me to look at some of the ALSA commands to see what I could find, but I'm not getting anywhere with it.
With the ALSA driver and SoundBlaster controller I get the following from alsa_ctl init
Unknown hardware: "Dummy" "Dummy Mixer"
Hardware is initialized using a guess method
This looked very wrong to me so switched to the Intel HD Audio as the other question did.
With the ALSA driver and Intel HD Audio controller I get the following from alsa_ctl init
Unknown hardware: "HDA-Intel" "SigmaTel ID 7680" ...
Hardware is initialized using a guess method
While this looks a little more promising, I still have no audio.
Since Android is basically Linux, I thought I would be able to translate a Linux solution. Several webpages have content similar to this one saying to modify /etc/modprobe.d/alsa-base.conf and add options snd-hda-intel model=CORRECT_MODEL and this appears to help a lot of Linux users. However, this doesn't seem applicable to Android. At least not to me, since I don't have alsa-base.conf
I know so very little about audio and ALSA. Is there anyting jumping out from what I have above? Even a nudge in a general direction would be great.
Some questions that I have:
What does it mean when I get the Unknown hardware: "Dummy" info? No audio device?
Lastly, I have verified that my sound works outside of virtual box. My first throught is that since my laptop can run Linux with sound, I should be able to include the Linux drivers in Android. Does that make any sense? Unfortunately, I also don't really know how to go about doing that either.
Thank you
I had the same issues.
I was using VMWare for WhatsApp. And had various Android versions without audio...
Setup VMWare with HDAudio config file mod.
alsa_ctl init
Always showed no devices.
I installed this App from Google Play "AlsaMixer (ROOT)"
And this versions got audio instantly:
android-x86-4.3-20130725.iso
android-x86-4.4-RC1.iso
Had a similar no audio problem in vbox. In your init.sh add this line to the end of the alsa_amixer stuff:
alsa_amixer set PCM 100 unmute
After I aded that my audio worked fine.
I had the same issue.
I kept looking for init.sh and then realized I had to install the darn thing to disk before that was worth fiddling with (it's re-parsed on reboot and the live disc doesn't save).
So I snagged the latest x86 ports and flipped through them till I found a 4.2x without issues. Sadly I lost track of which is which, and the good one is simply vm.iso?!
Long story short, audio is working fine with this build, I didn't even need to tweak anything.
System:
Motherboard Tab:
4GB RAM (Half the Host RAM)
[x] Hard Disk (Only boot device)
everything else is default
Processor Tab:
2 cores
everything else is default
Audio:
Windows DirectSound
ICH AC97
everything else is default
Working on phoenix os and androidx86 for sound fix
1) Install AlsaMixer apk
2) Open AlsaMixer
3) Search Master Playback Volume and edit value to 90
Related
I am trying to make the android emulator (v26) to be able to pick the host microphone or a sound stream as the source of sound input (like it was the physical device microphone).
My first try was to open the easy recorder application that comes with the system image, but when I try to open it the emulator crashes and reboots.
I am currently looking at other options, like Android-x86 in a VirtualBox, but so far I haven't been able to even install it (I'm on it at this moment)
What I need to do is to have certain applications (third-party, from which I am not the developer) to receive sounds from the host machine as if the sound was received through the phone microphone.
One of the things that I need is to be able to launch multiple emulators at the same time on the host machine, and, as far as I understand (I'm very new in the Android world) with Genymotion you have access to the host microphone, but you have to pay for each instance that you want to run. Is that so?
My host machine is an ubuntu 16.10, but actually any linux flavor that can do it would work for me.
I don't seem to find a proper resource to help me figure it out, all the questions that I find here in stack overflow are a bit old, some people say that is impossible to use the microphone, others say that is possible but I don't seem to find how.
there.
I'm using Genymotion for test.
I'm developing an android application.
This application can make a sound.
then
I tried to test my android application.
But,it would not make a sound.
My environment is Macbook.
and
Virtual box is 5.1.
and
VMDevice is Google Nexus 4 with API level 22.
this would not make any sound even if i could change the volume of sound on genymotion.
And my virtual device setting is here.
In genymotion FAQ page,
https://www.genymotion.com/help/desktop/faq/
What are the VirtualBox versions compatible with Genymotion?
5.1+ versions are not recommended as they lead to sound issues
To run virtual devices, you must install Oracle VM VirtualBox 5.0.28.
Genymotion might run with older versions but we cannot guarantee it.
so you should use version 5.0 or older to get sound working
It takes me a long time, finally got the answer.
Several versions of VirtualBox are known to cause issues in Genymotion.
For Genymotion to run properly, make sure you have the right version of VirtualBox installed:
Mac OS X: 5.0.26 (a sound issue prevents version 5.0.28 to run properly)
Windows: 5.0.28
Linux: 5.0.28
In any case, do not use versions 5.1.x, as they are known to cause sound issues and in some cases prevent Genymotion to start.
For me, setting the sound effects destination in the Sound setting did the trick. You have to open the emulator after setting the destination.
Huge thanks to https://stackoverflow.com/a/40007818
I also had no sound when using Windows 10 1709, VirtualBox 5.1.26 and Genymotion 2.11.0.
I noticed this line in VBox.log:
Audio: Skipping to create input stream "[LUN#0] ac97.mc", as the host
audio backend reached its maximum of concurrent audio input streams
What solved my no audio issue was to activate the "Stereomix" in the recording devices in Windows Sound settings. For an unknown reason this was deactivated.
I am aware of Genymotion openGL error stack overflow question.
I am attempting to run Genymotion on a Windows 10 system, but the graphics adapter is Intel G45/G43 Express Chipset WDDM1.1 and the driver supplied does not support OpenGL and Intel appear to have no interest in delivering a driver that does for Windows 10. I understand that officially this combination is not supported.
But here's the thing: I can start a Genymotion VM fine from Virtual Box, and it appears to work (almost) perfectly, as far as I can tell.
Certainly I don't see any problem with the graphics.
This must be using some (probably Virtual Box provided) software implementation of OpenGL.
However, when I try to start the same phone VM from the Genymotion console, or from the Genymotion button inside Android Studio, I get the error dialog-box in the linked question above.
My question is: Why is Genymotion insisting that there is OpenGL support from the real physical display driver? And of course, if its for a quality reason only (ie: sub-optimal user experience otherwise) is there any way to disable this check?
The reason this matters is that Android Studio does not list the Virtual Box started phone VM as somewhere an application can be run upon. I suspect that when Genymotion runs a phone VM, they set up something that the Android Studio integration needs, that simply running from Virtual Box doesn't provide.
In addition, I can't circumvent the Android Studio integration by deploying to a phone VM using the gmtool device install file.apk command bundled with Genymotion because this is a paid license feature. As you can imagine I am somewhat reluctant to purchase such a license when I know I am running in an unsupported configuration.
Purchasing new hardware also isn't an option for me in the short term.
EDIT: The justification for this question has since evaporated. Although I can't deploy using Android Studio or gmtool.exe, I have managed to deploy by using the phone web browser to fetch the .apk file. The gotcha here is that the web server must supply a Content-Length header or the download will fail. So I now have a workable solution.
{{{ Andy
I'm part of the Genymotion team. That's an interesting question. The answer is: yes, we ask for OpenGL drivers for performance reasons. Without this, the whole Android rendering would be handle by the CPU (as soft rendering) which is not fast enough to allow a real usage of the devices, with a seamless user experience, particularly since 4.3. If you run a 4.2.2 image from VirtualBox, you'll see the UI inside the window but the rendering will be very laggy.
As you maybe already noticed, running the Genymotion devices from VirtualBox works only for images up to 4.2.2 (released 3 years ago). The other image will show only a console window. And to be honest, you should more consider it as a side effect than a real feature. This behaviour could disappear on a future release for any reason. And there is no way to disable this check.
As you mentioned, this configuration is really weird and exceptional. As far as I know, we don't plan to support these kind of configuration and I don't see any real viable solution to make it work properly.
Also, to explain the problem you encountered with Android Studio. When a Genymotion device start, it gets a local IP. This IP can be used to connect it to adb. Then it is possible to interact with the device like with any other Android device. This is the tools used by your IDE (and (m)any other tools communicating with Android devices.
Usually, the Genymotion app does this for you, by connecting the newly started device to adb. But you can do it yourself by running adb connect <DEVICE_IP>:5555. Just be careful because this connection could not be permanent and you should have to run this command regularly in some situations.
I hope this answer will help.
Cheers.
I have a celeron processor :/ and android emulator on eclipse uses 100% of cpu and hangs everything unless I kill it . I was just trying a hello android program from a book and don`t know much about android or even eclipse .I have the android-eclipseplugin installled .
Can someone help me with is ?thanks!
As others have said, the solution is disabling sound. Unfortunately, in recent Android Studio releases (I'm using 1.4) the option to disable sound has been removed from the GUI. To disable sound you can do it either by launching the emulator from the command line with the -noaudio flag, or by editing the AVD's config file and setting the following parameters:
hw.audioInput=no
hw.audioOutput=no
On Linux, I found that file at ~/.android/avd/myAVD.avd/config.ini
I've had the exact same problem and found a solution that works for me.
In the config of the AVD I've set an extra flag "Audio playback support" to "no".
I've also made sure the AVD has 1GB of RAM.
This worked for me.
For me, it was unchecking the Multi-Core CPU check box
Niels' answer worked well for me https://stackoverflow.com/a/7706018
in that the emulator stopped using 100% CPU (dropped down to 10-15%)
Furthermore it had another useful "side effect". I noticed that playing video in Totem or music in RhythmBox would block while the emulator was running. VLC would play video but refuse to play the accompanying soundtrack for the video.
As soon as the emulator was killed, music would start playing.
Niels' answer to set "Audio playback support" to "no" prevents this issue.
I am running Ubuntu 11.04 and Android emulator version 13.0 (build_id OPENMASTER-172639).
I had same issue on my macOS High Sierra and for me helps to create new AVD device and choose CPU/ABI = x86_64, not x86 in Android version dialog. Hope that helps.
The Android emulator is emulating an ARM CPU without hardware acceleration which can be pretty slow even on a core2duo for example.
You can try to reduce the screen resolution of the virtual device which should result in a small performance increase.
The emulator is notoriously slow to start; it can take 15 minutes or longer on an underpowered machine. You can speed start-up a bit by passing the -no-boot-anim to the emulator start-up command. Other emulator options are described here. Also, some AVDs start faster than others. Try creating an AVD with the lowest level SDK that is useful for you.
Once the emulator has started, you don't need to shut it down. When an app exits (or crashes, or whatever), you can just run it again.
One alternative that worths mentioning is Genymotion. It's an android emulator based on VirtualBox, with pre-created images. It supports some features the stock Android emulator isn't very good at, like Wifi 3G, Bluetooth, GPS (with a fancy Google Maps integration, so you don't have to find coordinates manually), multiple screens, etc.
It worth giving it a try at http://www.genymotion.com/
I had this issue running the emulator on Ubuntu 14.04. Disabling the audio does bring down the CPU usage, but in case you need audio to work, it can be fixed by adding a symlink:
sudo ln -s /usr/lib/x86_64-linux-gnu/libpulse.so.0 /usr/lib/x86_64-linux-gnu/libpulse.so
The reason for this is that the emulator tries to use pulseaudio as the backend, but will be unable to link to libpulse.so, which does not exist on Ubuntu (unless you installed the libpulse-dev package). Then it will fall back to ALSA, which constantly calls poll, causing 100% CPU usage.
A fix for the emulator is coming, but for now, adding the symlink solves the issue.
I strongly recommend not to use android emulator. Use VirtualBox + android x86 OS (you can download it here ), and you will get real perfomance increase.
Unfortunately, as far as i remember, it is not from google and it supports only Android 2.2. I really do not understand, why google is not going to make simulator as fast as iPhone simulator , or to make official x86 release for debugging. I do not need emulating ARM processor instructions and I think 99% developers do no need it too.
I read on many other topics that the Android emulator starts really slow. Indeed, it takes +15 mins to start. However, on my machine is slow even after that.
The 'phone' responds with a 3-4 seconds delay and everything has a huge lag.
Is there any way to improve the performance of my laptop (Asus 1201N) is too rusty for the Android emulator?
PS: Tried in different emulator resolutions and the result is the same
Edit: My laptop has 2 cores with HyperThreading. And it shows as 4 CPU in Device Manager. However, when using the emulator, just one of the graphs is at 100%. Can I do something to make it work multi core?
Do you have "Disable Boot Animation" checked?
Also, if that doesn't fix it, one thing that helps is that you never actually have to close the emulator screen while you're coding. If you click debug when it's already open, your APK will get uploaded to the emulator and start pretty much immediately. For some reason it took me a while to figure out that I didn't have to manually close the emulator.
One thing I learned that helped me is that once the emulator is open from your first debug run you DO NOT have to close it. Leave it open, and on your next debug run it will be ready to go without any load up time like when you first open it.
In regards to your slowness after startup I suspect it's just your computer. It runs very fast for me. It starts up in about 20 seconds or less, and once it's open my subsequent debugs load very fast.
I hope at least my first tip helps to save some of your sanity.
Here's what you can try. It does speed up the emulator for me, especially during loading time.
I noticed the emulator is only using a single core of the available CPU. What I did is to set it to use all available processors.
I'm using Windows 7.
When the android emulator is starting, open up the Task Manager, look under the Process tab, look for "emulator-arm.exe" or "emulator-arm.exe *32" ...right click on it, select Processor Affinity and assign as much processor as you like to the emulator.
I think there is few ways to improve the performance of your Android Emulator like
Use Snapshot, this will improve the boot time for consecutive application running
Use x86 Intel Hardware Accelerator
Use 3rd Party Emulator like BlueStacks
Hopefully it will help you to improve the performance and resolve your problems.
Thanks
I had the same problem and in order to solve it I just disabled all the transition animation effects that are enabled under Spare Parts.
it is way too slow for me too.
(slow on both my Pentium 4 (ubuntu) and my dual core 64 laptop (Windows 7)
apparently it uses QEMU - could I perhaps look for the image file and try a different version of qemu?
Another thing I tried is this: http://www.android-x86.org/ (in vmware)
this seems MUCH faster but I can't get it to see the network!
(right now I just want to test some websites in the brower so seeing the network is a must - I'm not doing native apps just yet)
I discovered that instead of running the 'Debug' target, I just run the 'Run' target. The emulator runs a lot smoother when doing so. I only jump into debug mode if I really need it.
To connect to network from android-x86, you neek to manual setup ip manual by use this command in console mode (Alt + F1):
ifconfig eth0 netmask 255.255.255.0 up
after do that, you can check it by type : netcfg in console and you can see this ip is set at your local wmware
you can check it success by ping ip you had been set in command prompt, and after that, you can use adb connect to connect debugger to your virtual android