This is more developer related, but one of the biggest news is a backwards compatible ActionBar in the official support library. All that's left to say is a big, enormous thank you to Jake Wharton for keeping us all sane until now.
Seriously, this might be the most important change in the list. Jake's work has been incredible, but having this provided by the support library is a huge improvement to Android development.
Um, its worth nothing that ActionBarCompat is not an addition to 4.3. Its an addition to the support library. If you include the support library in your project and you can use features from 4.3, such as fragments, and the action bar all the way back to android 1.6. The support library is a backport of modern functionality.
This is part of googles approach to addressing fragmentation on the Android platform.
Small correction, the support library which has ActionBarCompat only goes back to 2.1 (each version has a number representing the API version it supports, in this case v7)
>You can access notifications through new APIs that let you register a notification listener service and with permission of the user, receive notifications as they are displayed in the status bar...You'll be able to launch any intents attached to the notification or its actions, as well as dismiss it from the system, allowing your app to provide a complete user interface to notifications.
wow. that should have some interesting possibilities.
This can be done on older versions as well but the app has to declare itself as an Accessibility Service, which is a massive hack. Google are fixing that by mirroring that specific use case in a separate service.
Correct me if I'm wrong, but I think that the Accessibility Service hack only allows apps to read notifications?
One of the other advantages of this new API functionality seems to be that it will also allow apps to dismiss notifications, or detect when the user has dismissed a notification. This will allow notifications to be kept in sync between the system and an app (or on a linked device like a smartwatch), which is a very nice addition.
'Recieve' there means that the OTA is out and being deployed to some devices, not that it's been rolled out and made available to everyone. If you want the update sooner, you can download the factory images and flash it. (which have already been released).
Android 4.3 adds built-in support for Bluetooth AVRCP 1.3... In addition to exposing playback controls on the remote devices connected over Bluetooth, apps can now transmit metadata such as track name, composer, and other types of media metadata.
I've been waiting for that for car audio (iOS already supports it).
I'm happy they have improved some things over the past year, allowing for staged rollouts and so forth. I do hope they work on fixing things like this, as opposed to just including things like more APIs for DRM to plug into.
Not to start a flame war here...but what is the likelihood that newer devices still on 4.1 will be bumped to 4.3, on the reasoning that third-parties waited until 4.3 to make the upgrade? Or does it become increasingly unlikely that any upgrade will happen?
I have a Sprint HTC One...which was released in 4.2's latter days but still had 4.1...wondering if an upgrade will ever happen
That seems to be largely a carrier issue, and unfortunately the best solution seems to be to root the device and install/update stock Android manually.
This is why Google is moving a lot of Android's functionality into applications, which can be updated easily via the Google Play Store.
I should also put a shout out to the compatibility library and google play services - these mean app developers are not tied to having to code against the latest version of android to use new features.
Essentially all Android updates do now is to change some of the core OS plumbing. The big changes from 4.1 to 4.2 were rendering speedups. 4.3 seems to be new versions of the bluetooth stack and open GL.
Lol, Funny how we have very different standards for stuck. I would not consider 4.1.1 "stuck" any time soon. I have gingerbread on 800mhz, 420x840. I would LOVE to be "stuck" on 4.1.1. Google chrome and Google Now seem like such neat things.
With a device like that surely you must be eligible for a carrier-provided upgrade device. What device is it, and do you just like it more than anything more recent?
I wonder how many people are effectively stuck on older devices because Verizon wants to strip away unlimited plans (Verizon ended unlimited data in May 2012 and you have to switch to a limited plan to get the carrier subsidy).
In the particular case of the HTC One, there is a leaked 4.2.2 update (with Sense, not the Google edition) for the international version of the phone that can be safely installed on carrier-specific versions. It will likely be available OTA in a few months.
You'll get 4.3, and even at least one more for HTC One.
The ones that receive very poor to no further support are the low-end devices, or the not very popular ones, which is also very unfortunate.
That's why I think that if Google announced Motorola will support its own devices for 3 years, just like Apple and Canonical also promised for Ubuntu Edge, they would have a huge competitive advantage over other OEM's (which are free to copy them on this).
There seems to be a significant push for more video/entertainment/proprietary content related stuff. Anyone familiar with this?
"Modular DRM framework
To meet the needs of the next generation of media services, Android 4.3 introduces a modular DRM framework that enables media application developers to more easily integrate DRM into their own streaming protocols, such as MPEG DASH (Dynamic Adaptive Streaming over HTTP, ISO/IEC 23009-1)."
Wonder if I'll finally see Amazon Instant Video on vanilla-android... probably not.
Amazon Instant on Google TV is just a shortcut to launching Chrome pointed at the Amazon site where the videos play in Flash. It's not a real Android app, not on my box at least.
Amazon Instant on some Google TV devices is the real Amazon Instant app. However, the devices supported by Amazon Instant are all ones that offered DRM.
> The /system partition is now mounted nosuid for zygote-spawned processes, preventing Android applications from executing setuid programs. This reduces root attack surface and likelihood of potential security vulnerabilities.
Well, that sounds great. It's almost like they're trying even harder to prevent people from having control over their device.
> It's almost like they're trying even harder to prevent people from having control over their device.
What utter bullshit. Every Google Android device gives you the full freedom to flash whatever you want to on it. No restrictions at all.
Security should not suffer because it might have a negative effect on an absolutely tiny minority of an userbase that can freely disable that added protection anyway.
You are right with respect to the Google-sold devices. Unfortunately, these are only a minority - and this step will make it significantly harder to root devices made by Samsung, HTC, Sony and all the others...
So? That has nothing to do with Android 4.3 as far Google or the AOSP is concerned. Don't buy a device that doesn't give you control if you want that control.
And no, the Nexus line is not the only line that lets you do what you want to. Although not officially supported, Samsung's flashing protocol has been reverse engineered and they've made no changes to block those efforts. HTC's newest One supports the same fastboot procedure that the Nexus line does. Most of Sony's models can also be unlocked and some even have AOSP support.
This is the right move for security. It is not a move to "take control" from anyone. Instead, it is your duty to vote with your wallet. Don't buy carrier-locked phones or other phones that don't give you that control.
It won't make Samsung devices any harder to root - Samsung devices are bootloader-unlocked. You don't need any vulnerabilities, you simply flash your custom firmware using tools such as Samsung's Odin. Most other providers are moving towards methods to allow bootloader unlocking. The ones that lock the bootloader usually get negative social media response and lower sales, so I think this trend will continue for now.
The point is, you shouldn't need to root the device. That's a red herring. You can completely modify the source and then flash the device. All these manufacturers give you methods for flashing. You mention Sony[1], Samsung[2], HTC[3], here you go ... In time projects like Cyanogenmod will have ROMs baked for you that'll give you root. But why should it be easy for a user to root their device? If the user can do it a malicious program can do it. There is nothing wrong with extra security so long as the platform stays relatively open, which it seems to be. If anything handset manufacturers seem to be getting more not less dev friendly. Would you want Windows or MacOSX easy to root?
[1] Sony Android source based on AOSP (Android Open Source Project)
You need root, because there are apps you want to run, that need root permissions. The use cases for these apps are very wide, from ad blocking to repairing OEM fuckups (I'm looking at you, Asus).
Anyway, it is easy to "root" Windows or Mac OSX. It is just logging in as administrator in Windows or using sudo in OSX. The paranoia and preventing the user to really control the device they bought is a new thing, that came with mobile OSes. It wasn't so widespread before.
Well, there is a problem - root exploits give people control of their device, but are also, by definition, a security hole which can be exploited by malicious apps to break the sandboxing and do bad things (tm). The right solution to the issue of user control is to convince manufacturers (which many already do) to make their devices open without needing exploits, not purposefully making the OS less secure.
Android 4.3 now includes Digital Restrictions Management framework. In order to prevent users from accessing their data (or running apps) in a ways they're not allowed (copying files, advertisement blocking, tethering and so on), Google (and vendors) certainly wouldn't like users to have unrestricted access to their phones.
I really think tightening security with nosuid and SELinux is at least partially due to DRM introduction.
IMO promoting 'security holes' as a mechanism of freeing your device is counter-intuitive. What everyone needs is a safe way of running their own software; security bugs are toxic to the entire ecosystem.
I agree. Just that the parent's point that "Google (and vendors) certainly wouldn't like users to have unrestricted access to their phones" doesn't make sense in light of this fact.
Unlocking the phone does a factory reset, right? So you won't have access to any data that your phone holds (unless you were able to export it or store on SD card).
And, if I understand things correctly, custom ROMs do not have Google Play. Well, in reality they do, but I believe Play .apk's floating around are just warez. Maybe I'm wrong on this matter, though (please correct me if I am). But if I'm right, then, legally, phones flashed with custom ROM should not have access to Google Play.
So you're certainly allowed to put whatever software you want (if you can write, build or find one, huh) on your hardware. But, at the same time, you're not welcomed to tinker with Android as provided out of box, except in a way you're allowed by vendor.
I'm not advocating hacks to get root by any means, though. They're security holes that are exploited in a lack of better ways.
Unlocking does a factory reset by design. If someone was to steal your (locked, password-protected) device, and could unlock it without wiping, they could just flash an update that bypassed the password and dump all of your data. Or even worse flash an update that silently gave attackers remote access and put the device back in your possession.
Not wiping when unlocking the bootloader is a security hole.
Google authorizes distribution of their apps through a separate channel. This issue was resolved when CM was present a C&D in early 2011 (iirc) for distributing Google apps with the ROM image. My understanding is that as long as Google apps are in a separate file, Google consents to the distribution, at least in the case of CM. IANAL.
...which is why the first thing I did when I bought my Nexus was fastboot oem unlock. No worries about a factory reset when I hadn't put anything on it to begin with.
Bad news for all the apps on Google Play that require rooting to use (there are some with millions of downloads), but good news for custom ROMs, I guess. A lot of people just root their phone and start using the apps they rooted for like tethering, controlling GPS and other secure settings on triggered actions, etc.. Now rooting will still be trivial for complete ROMs, but tougher to root existing ones.
I haven't read anywhere whether 4.3 requires the system to be mounted non-suid or merely operates that way by default. If it's not actually required, it shouldn't be too difficult to re-enable suid mount from a custom recovery (but I don't know about the SELinux parts).
Conceivably, this would allow the DRM subsystems to easily detect root-able systems (and perhaps even using some sort of active probing to check whether the kernel has been modified to lie about suid mount status).
Considering there haven't been devices yet that are unroot-able, this shouldn't be a problem. At a minimum the various Nexus devices work with fastboot to unlock the device very easily.
I'm guessing you're talking strictly about the Nexus line? Because there's several Android devices that have proven un-rootable thus far, such as most Motorola devices, several HTC devices, and so on.
Honestly, if rooting is important to you, you should be buying Nexus devices anyway, right?
I realize that there are some consumers that are forced into certain handsets, and those people lose out. But many people buy devices like Galaxy S4s with the expectation to root and fix what they don't like, which is never something Samsung promises. If such consumers vote with their wallets, we'll see more things like the S4 Google Edition, which is what such buyers want in the first place.
I don't see much of a problem here (exception of those people who don't have Nexus as an option for whatever reason).
There is not much point in complaining about not being able to root Android devices. Go for a Nexus or shop around. Not sure about Samsung devices -- they are the market leader after all -- so somebody'll have to help me out on that.
I have an HTC One X on AT&T (came out last year) and HTC will not give bootloader unlock codes from HTC Dev for phones with an AT&T CID. You have to use a root exploit to change the CID that was patched in the last firmware update, but has now been cracked again. Unfortunately, it seems no hardware manufacturer has any consistent policies.
It's smoother, which is a great thing. But in terms of actual features, the only one I'm looking forward to is being able to use Wi-Fi positioning while I've turned off the ability to connect to Wi-Fi. That is to say, I'm not very excited about this release.
The "not much", at least wrt to user-visible features, makes sense. My feeling is that they save the big user-facing features for the major releases, i.e. whatever comes after Jellybean. It seems like the minor number bumps are primarily for new developer APIs and better performance/stability.
I think this is great, and is a sign of Android's increasing maturity as both a platform, and a UI.
There are lots of things in the new version, but just because your random wish isn't there it's "not much"? Give me a break. Besides, you can already do that with DroidWall or any other firewall in the play store.
but just because your random wish isn't there it's "not much"?
Er, where did I say that? My "random wish" was one of the new features they announced that I am glad they included.
There are plenty of new features in 4.3, but they're all developer-centric. Absolutely nothing wrong with that, of course, but it means it isn't so exciting for many people. Especially as few people can afford to target these new features right now, given that their potential market of 4.3 users is tiny.
Future Android updates probably won't be as exciting because Google is migrating most of their system apps to Play. In the past, a system update might have brought new features to Maps, or to Google Search, while now those are updated on a more frequent (and less buzzworthy) schedule.
One such piece of hardware being Fitbit, which only presently supports some Samsung devices (since Samsung apparently got tired of waiting and hacked in their own support). Perhaps we'll finally get full Fitbit support on Android devices running 4.3.
As an owner of Nexus 4, the only feature I'm looking for is a reduced battery usage :) They provide optimizations for the location API, but I suspect that the more prominent performance features will end up draining battery even faster :)
Some of the performance changes for handling graphics should help with battery life since they will be more efficient in using the CPU and GPU. Some of the Android engineers covered this at I/O 2013: https://www.youtube.com/watch?v=vQZFaec9NpA
I too have been waiting impatiently for Google to fix the audio latency. Great to see behind the scenes of how the Android engineers are tackling this issue. Surprised this is primarily a Linux scheduling issue and of course priority inversion. Between "fast path" and matching buffers/sample rate, looks like we're almost there. Great watch! Thanks for posting that link.
This is something which is being worked on, but it's a complex problem and takes time to improve. Android 4.3 has halved the audio latency on the Nexus 7 (2012) and Nexus 4. See here: http://www.youtube.com/watch?v=d3kfEeMZ65c
> Wi-Fi scan-only mode is a new platform optimization that lets users keep Wi-Fi scan on without connecting to a Wi-Fi network, to improve location accuracy while conserving battery.
Out of all the features this is the one I am most excited about.
From my time working with SELinux on the desktop I'm curious to see what they do with it eventually, now running it in permissive audit mode doesn't do much at all.
I'm wondering if the plan is to eventually have each app ship with a policy file (doubt it)?
Use a targeted policy to only confine certain apps chosen by the user with corresponding policies and run everything else unconfined (minimizes breakage)?
Run the entire dalvik vm in a separate confined domain?
Just leave it there as an option for enterprise and government customers who would really take advantage of flexible interface for writing access policies?
The Check Now button in About Phone seems to be something of a placebo button, as well. In the past I've got around this by going to Settings->Apps->Google Services and clearing the cache and killing the process. That will force an actual check by pressing the Check Now button.
Of course, if your phone isn't scheduled to receive it yet then you'll still come up bupkis, like I have thus far.
I don't think anyone has gotten the OTA update yet. Once someone has, the zip will get posted and then we can all update from that. Or, you can flash the factory image which is out now but you'll lose your data on the phone.
I suspect it's part of their strategy for deflecting from the "fragmentation" issue - "what version of Android does your phone run? Jelly Bean? Snap!"
I also reckon that they will start releasing bits of the OS via the Play Store, bypassing the manufacturers and carriers (as they are already doing with the standard keyboard).
> I'm missing the times when every release was a new sweet thing.
There's never been a time when all point releases had a new codename. Eclair covered 2.0 and 2.1. Honeycomb covered 3.0, 3.1, and 3.2. I don't see any evidence they've changed their naming practices.
It seems that only Nexus devices are getting the update today, and not the Samsung/HTC Play Edition phones. It will be interesting to see when those two devices get the update; in the meantime, not all Play devices are made equal?
I'm new to the Android world and this is the first update I've seen. When should I expect an update pushed to my phone? What does it depend on? I have the Galaxy S4 so I assume Samsung has to make some modifications to the version to support some stuff?
The image is modified heavily by Samsung. Besides their custom UI, they need to write/integrate custom drivers for the hardware in the phone. As for time, it could be a few months before it's updated.
This is the advantage of Nexus phones, as Google ensures that the manufacturer has a release ready, and that previous phones are updated (within reason).
Nice to see they're working on rendering-performance. I bought the prev Nexus 7 but returned it some days later. The jittery scrolling and constant microlag drove me crazy.
> There are already patches for the IR blaster in CM10.1 (or 10.2 now). You have to cherrypick them though, as of two weeks ago they weren't merged yet.
Edit: The video about the ActionBarCompat is available: https://www.youtube.com/watch?v=6TGgYqfJnyc#at=20
Seems largely identical to ABS in its implementation, which makes sense.