I'd like to switch from using MP3 encoded audio files to AAC+ for voice sound files stored inside an Android app. This will make the install size smaller.
A problem I encountered is that AAC+ support was broken in the Froyo release of Android:
http://code.google.com/p/android/issues/detail?id=9308
It was later fixed:
https://android.googlesource.com/platform/frameworks/base/+/16263d9f8cc01392c2f3678b381ce897647c8c81
The Pandora FAQ apparently confirmed some phones were updated over the air, but warned about other phones:
Why am I experiencing audio issues on Froyo?
If you have upgraded to Froyo (Android 2.2), you may notice audio-quality issues while listening
to Pandora. The Android team is aware of this issue with AAC+ audio and has released a fix, which
is gradually being rolled out on the various Android handsets.
Currently the Sprint HTC EVO and the Google Nexus One have OTA Android OS updates that
incorporate this AAC+ audio fix.
If you have a different handset than the two mentioned, please contact the support team for your
handset if you have any further questions about this issue.
Have all Froyo phones been updated to include this fix? Or are there some carriers/manufacturers not bothering? Such is very common with Android, as they claim testing updates is too expensive.
My Flurry metrics are showing Android 2.2 at 33.2%, 2.2.1 at 12.2%, 2.2.2 at 0.1%. So if the fix only came with a version number change, it isn't out to most Froyo phones.
Based on the time of that commit, it was probably fixed in 2.2.1. Since there is no SDK level change in 2.2.1/2.2.2, Google doesn't track its usage separately from 2.2. Gingerbread and Honeycomb make up 19.5% of total installs as of July 5, 2011, and they all have the AAC+ fix for sure. Most manufacturers and carriers don't release any updates other than major ones (OS upgrades), so I would estimate that approximately 25% of all devices have this fix. You could also try using Ogg Vorbis, as support for it is built into all versions and the voice profile may be sufficient for what you plan on using it for.
Related
Is it expected (or what is the likelihood) that newly produced Android devices to not have GLES 3.2 support? We're developing children apps so we're trying to see what are the odds we get new devices on the market in the future that can cause us problems...
What we need is floating point render textures in unity.
Google publish data here (googling 'android distribution dashboard' will find it in case the link goes stale)
Currently, 78.61% of Google Play users are on devices that support GLES 3.2.
Going forward, I'd say it's a certainty that some newly produced Android won't have 3.2 support, but I think they'll be relatively rare devices and aimed at the cheaper end of the market.
I want to use OpenTok API for android.
I found example on github. and causes some exceptions like.
1.my video is not publishing.
2.I receive the stream but unable to get view.
3.pulisher.create(); cause exception.
Is this is only for jellybean os. how to implement it for lower version.
I am using it on my nexus s jellybean updated.
Any help will be thankful.
Here is OpenTok's Android repository. According to their readme, The supported devices are:
Nexus 4
Nexus 7
Nexus 10
Galaxy S3
Requirements for OS is Jelly Bean and up.
Live video streaming is CPU intensive, and lower end devices do not have the CPU capacity to handle multiple video processing for the streams in the session and not able to run OpenTok's SDK.
My boss recently gave me an HTC Wildfire phone for doing an Android version of one of our mobile apps, which is all fine and good, except that the app requires API level 8 (ie Android 2.2), and the phone itself only has Android 2.1 installed. After much googling, I discovered that this phone does support Android 2.2, and carriers will be rolling out updates over the air for this model phone "in the near future".
Since I'm not entirely certain what our lazy carrier's definition of "near future" is, it would be nice if I could download images for particular releases and install them on my phone. Coming from the world of the iPhone, it seems that this should be something rather necessary in order to successfully develop an Android app.
Yet, it doesn't seem that Google offers any Android OS updates themselves. Have I no choice but to wait for the carrier to release an update?
Edit: Thanks for the suggestions regarding the emulator, but I'm asking about testing on hardware only. I already have a working 2.2 emulator image, but I need to test on hardware now, since the emulator does a very poor job of things like video playback and audio processing.
There's a few ways you can test your application on Android 2.2:
1) You can use the Emulator provided by Google in the SDK. It is possible to create a virtual machine of any version of Android with various hardware options. However, the emulator does have some limitations such as not supporting certain hardware options (such as bluetooth) and it's also dreadfully slow to boot.
2) If you have to use an actual phone with 2.2, you can root your phone and flash a custom ROM. I'm not particularly familiar with how to root the Wildfire, or what custom ROMs are available for that specific phone, but Cyanogen Mod has pretty good ROM support for HTC phones, as well as an active forum with tutorials.
No, it's not possible to download images before OTA. You could check CyanogemMod from time to time - they're working on Wildfire support. Also you could use an emulator.
If you are wanting to bounce around with newer versions, I recommend the Nexus One as a dev phone if you can get your hands on one. Or, if you can deal with the constraints, start with a built-in AVD emulator with API 8 until your phone gets the OTA update.
The Motorola Droid is also getting/has 2.2 on it. At least in the States, in seems that most of the phones on Verizon already have it (non-scientific, just from talking to people I know). So if that phone is available, it may be a decent choice.
I'm looking at market stats here for sdk distribution:
http://developer.android.com/resources/dashboard/platform-versions.html
saying that 31% of marketplace users are still running 1.5. Is it true that an OS update went out for G1 and myTouch users? I'm wondering why so many people are still running 1.5 if so? Just curious because I'd like to use th setView() method introduced in 1.6 for TabSpec, but not if so many people are still using 1.5, I might have to roll my own control,
Thanks
Many devices are being announced with 1.5 but will be upgraded before or soon after launch, as I see it many rooted phones that came with 1.5 or lower are almost all at 1.6. Some $100 devices announced will never go higher than 1.6 because of performance issues unless Google actually optimizes newer versions of Android.
The htc Magic(Mytouch) and htc Dream(G1) here in canada only officially have a 1.5 update and no 1.6. But in the USA they now have 1.6. I have a Dream and I rooted it and have firmware 1.6 but I have run 2.0, 2.01, 2.1 on it but performance is not too great on it. With 1.6 I can play apparently slow games on it at a decent speed.
Google also stated that they will update most android devices to have 2.1. So I would think that All Htc and Motorola phones will end up with 2.1. Just give me a moment to find the source of this.
All US Android phones to have 2.1
Devices that have a custom ui are: (These are the devices that I know of but there are more)
Sence UI
HTC Magic in canada
HTC Hero
MotoBlur
Backflip
Click
Click xt
There are custom roms that enable sence ui and motoblur for motorola phones and htc phones. For example I have run sense ui and motoblur on my Dream.
Reports suggest that most devices will be upgraded to 2.0 in the coming months and those that aren't will be running 1.6.
So you have to weigh up the advantage of using the setView() method over the potential loss in device compatibility.
strangly enough LG is just releasing a new phone based on 1.5
http://www.reghardware.co.uk/2010/03/17/review_phone_lg_gw620/
I'm one of the users running 1.5 on my HTC Hero, this is not because I don't want to update but because they haven't released it yet, fortunately 2.1 is being released in April for Orange customers in the UK.
Furthermore the reason some devices take some time to upgrade are mostly due to HTC improving and upgrading the SenseUI, it's what I was told when I asked them anyway.
HTC Hero being upgraded to 2.1 on 26th April in Taiwan, a day or two after rest of the world
Source: http://www.androidcentral.com/htc-hero-gets-21-upgrade-april-26th-%E2%80%93-taiwan
I just uploaded my first app to the Android marketplace and one comments says, "It force closes on G1". What version of the Android OS does the G1 use?
Originally the G1 shipped with 1.0, then upgrades were released to update the phone to 1.1, 1.5 (Cupcake) and 1.6 (Donut).
So you would expect most users to be on 1.6. However, there are a couple of extra things you may want to consider.
Firstly, some users will be running custom firmware. A quite a few G1 users - me included - run community firmware on their devices, such as CyanogenMod. Often these releases are 1.6 releases with 2.x functionality ported from the Android Open Source Project (AOSP) tree, so you could consider them as a hybrid release, putting the phone somewhere between 1.6 and 2.x. I wouldn't worry about the people running custom firmware since they are so many different firmwares and builds of each firmware, and people who put custom firmware on their phone usually expect to fend for themselves. I only mention it in case you get some weird bugs you really can't replicate which might be caused by this.
Secondly, I'd recommend looking at the Android Device Dashboard as this shows what fraction of users of all phones are running each release:
At the time of writing 31% of users are still on Android 1.5 and I would guess quite a few of these are running G1s.
So my advice would be to test your application on 1.5 and 1.6 if you want to support G1 users.
The latest should have been Android 1.6, but originally it was shipped with Android 1.0 (Source).
The latest update they've pushed out to the G1 is Android 1.6. They're supposed to be working on trimming down 2.0 to make it fit on the G1 but so far it hasn't been available without hacking your phone.
Currently 1.6 (Donut), this is most likely the last OS version that will be on the G1.
Originally it was shipped with Android 1.0. Now it uses Android 1.6