Slatedroid info

Everything about android tablet pc [slatedroid]

Cyngn, OnePlus, Micromax – The Legal Battle

Posted by wicked December - 18 - 2014 - Thursday Comments Off

micromax oneplus cyanogen

Recently, a battle has been waging in India over the rights to distribute the commercial version of the CyanogenMod operating system. The court order from the recent case (where Micromax wanted to enforce their exclusivity agreement against OnePlus) has been released. The order, written by Justice Manmohan Singh, weighs in at 29 pages, and the contents prove rather interesting. Let’s take a look through it. The documents are available for reference from this link. In a break with convention, I will give the summary first, then go through the judgement.

Summary (aka tl;dr)

OnePlus had a worldwide (excluding mainland China) non-exclusive right to use the Cyanogen trademarks and ship the software on their device. This agreement was in place for a time period, and said that Cyanogen wouldn’t work with other OEMs to develop or integrate the system during this time in the regions covered by the agreement. Cyanogen then went and made an agreement with Micromax that was exclusive (despite OnePlus already having non-exclusive rights to these countries), and told OnePlus they were terminating their agreement in an email simply saying they were terminating. Such a contract termination is most definitely unusual, and normally is not permitted without (significant) penalties. Given OnePlus and Cyanogen have agreed to settle disputes in this contract in California, we may well see further lawsuits in the new year over this matter, as the judgement highlighted that Cyanogen may well be liable to OnePlus for their breach of contract. Micromax succeeded in their injunction request against OnePlus, preventing the import and sale of OnePlus devices, on account of their exclusivity deal.

The Overview

The court judgement states what was already known, in that Micromax intended to launch its new phones in India on 20th December 2014. What is interesting, however, is that the first defendant on the lawsuit was Shenzhen-based OnePlus. However, there were further defendants, based in Delaware, USA. Defendants 2 and 3 are “Cyanogen”. Cyanogen and Micromax entered into an agreement, taking effect from 26th September 2014, which granted Micromax a license to integrate and distribute the Cyanogen operating system in India. This agreement was exclusive within India, and Cyanogen are reported here as having agreed to not “collaborate directly with another OEM for the purpose of integerating Core OS [the Cyanogen operating system] with devices distributed by such OEM in India”.

In August 2014, Micromax became aware that OnePlus intended to release their product in the Indian market, using the Cyanogen operating system, which Micromax would soon acquire exclusive rights to. When taken up with Cyanogen, they “confirmed that the exclusive rights would devolve upon Micromax post the effective date of the agreement”. In a word, Cyanogen agreed to honour that agreement with Micromax.

OnePlus on the Attack

The documents reveal that OnePlus filed suit against Micromax (case number 3688), to (in the view of Micromax) sabotage their launch of mobile products in India, which was scheduled for December 20th. Micromax alleged that OnePlus infringed upon their exclusive rights in India, by launching the OnePlus One on 2nd December with the CM 11S operating system. Micromax had previously been in email contact with OnePlus, where OnePlus said it “was aware of the agreement between Micromax and Cyanogen” and that “OnePlus wanted to discuss some arrangement” to allow them to use Cyanogen products in the Indian market.

In response, Micromax sent a legal cease and desist notice on 26th November, ordering OnePlus to not infringe upon their exclusive rights. At this time, Micromax stated to Cyanogen that they should take “necessary steps to prevent the breach of the term and conditions” of their exclusivity agreement. This was what prompted Cyanogen to produce a press release confirming the exclusive rights held by Micromax in India.

Micromax attested that the Trademark license agreement between Cyanogen and OnePlus was limited in scope, and did not affect the exclusivity agreement granted to Micromax. At this point, OnePlus appears to have pre-emptively filed for an injunction against Micromax and Cyanogen, based upon their license agreement, to prevent Micromax and Cyanogen from bringing proceedings against OnePlus in India.

OnePlus Agreement with Cyanogen

In a nutshell, OnePlus signed a collaboration agreement with Cyanogen on 28th February 2014, and a trademark license agreement on 1st February 2014, which is valid until 31st January 2016. OnePlus was granted a non-exclusive license to use the Cyanogen trademarks and software (CM 11S) worldwide, with the exception of mainland China. Now, I don’t know about you, but that seems a fairly reasonable agreement to have in place – any sensible reader would take from this that OnePlus is allowed to use the brand in India, albeit without exclusivity. But hey, exclusivity isn’t the be-all and end-all.

OnePlus was contacted by Cyanogen 2 weeks prior to their product launch regarding the termination of this agreement, requesting that OnePlus cease using the Cyanogen brand name for marketing in India. OnePlus found out via the press release that Cyanogen had entered an exclusive agreement with Micromax in India, and that Cyanogen would no longer “provide support to the OnePlus”. Cyanogen eventually agreed to provide OTA support to India-based OnePlus users for only December 2014, but on the same day, Cyanogen issued their press release to state “their operating system will exclusively support Micromax’s mobile devices in India”, and that they would “not support any other devices shipped in India with future updates.”

This is certainly interesting, as it points towards Cyanogen taking a leaf out of the “big corporation” handbook, and choosing to not issue updates to a device for political reasons. Community projects such as the ones you’ll find on XDA are formed to bring Android updates to users. For Cyanogen to engage in such witholding of updates clearly shows they are no longer valuing their users, or their community of fans.

OnePlus argued in their suit that Micromax or Cyanogen might try to prevent them from using the software or trademark, which would have disrupted their product launch on 2nd December, and that it had a “valid and subsisting license granted by Cyanogen in favour of OnePlus”, and that termination of this agreement “without any cause, reason and justification would be illegal”. That does seem a pretty valid claim – OnePlus were first, and had a valid license deal.

Later on in the court documents, we read that OnePlus “shall only distribute, sell and market the OnePlus phone using online stores (or applications) and no distribution or sale shall occur in or through physical storefronts, kiosks or other permanent or temporary physical locations in the permitted territory.”, and that OnePlus won’t allow any third party (that they engage) to sell the device (or ship it) to someone outwith the permitted territory. There was also a grant of limited exclusivity given to OnePlus, stating that as long as OnePlus didn’t breach the agreement, Cyanogen “shall not engage in the integration of CyanogenMod with any other mobile device manufacturer for the purpose of distributing such device in the permitted territory” for the first 30 days. The agreement goes on to state that Cyanogen would not “develop or integrate features and services similar to the CMOD [we presume this refers to CyanogenMod] enhancements for any other mobile device manufacturer … in the permitted territory.” during this time. Interestingly, however, Cyanogen is not prevented from releasing source code of these enhancements to the community after the launch date of the product. OnePlus was likewise required to not “offer or otherwise distribute” their handset with an operating system other than CyanogenMod in the permitted territory.

UPDATE: This section has been rectified given a better reading of the judgement from Entropy512. The previous revision interpreted the judgement as giving OnePlus a longer period of exclusivity.

The Micromax and Cyanogen Agreement

As the judgement includes a copy of the contract between Cyanogen and Micromax, we can take a look at the wording of this agreement. The license agreement is a standard enough agreement, even stating that Cyanogen grants a “non-exclusive, nontransferable” agreement to distribute the services and applications, and distribute the operating system. Interestingly, the agreement places a number of limitations on the OEMs, such as requiring them to fully distribute the entire operating system including all applications (i.e. the company cannot exclude any applications without written consent). This includes a “third party apps” list. So just a heads-up here folks – this agreement clause could end up being used to force out unwanted software on these devices, if it was to benefit Cyanogen. Micromax would also have to get the approval (in writing) of Cyanogen, with “such approval not to be unreasonably withheld”.

Also interestingly, the agreement states “If Cyanogen specifies a specific version of Core OS […] or an application to be distributed in a certain territory, company [Micromax] will distribute only such version within such territory.” While this could well be used to ensure an OEM does not ship an outdated operating system on devices, it could (potentially) also be used to prevent an OEM from updating an older device, if Cyanogen decided to play dirty with a company. These terms are fairly restrictive for an OEM entering into an agreement like this.

Finally, a special set of terms appear, in an appendix to the agreement, stating that Micromax has exclusivity over India, Bangladesh, Sri Lanka, Nepal, Pakistan and Myanmar. This agreement grants limited exclusivity “for Core OS such that Cyanogen will not collaborate directly with another OEM (or agent acting on behalf of such OEM) for the purpose of integrating” the Core OS with devices from another OEM.

From the judge’s reading, he states it is clear this license was non-exclusive, but had exclusivity on the Core OS in the listed countries. The judge noted, “On the other hand OnePlus was granted non-exclusive rights for distribution, sale and marketing to end users in the permitted countries without any exception.”

The Court Case

The judge found that, due to the standard legal terms of the agreement, OnePlus and Cyanogen had agreed to resolve any disputes in their agreement in the courts of Northern California, and that they had agreed to not commence any suits otherwise. For that reason, the suit against Cyanogen in India was found to be invalid, as it is in breach of the agreement. The judge noted that OnePlus was not in the position to take action against Micromax, due to their agreement being non-exclusive, and that “the only complaint of OnePlus could be that Cyanogen has breached the agreement between OnePlus and Cyanogen by inducting another licensee in India in the form of Micromax”. That would certainly seem to be the case, and this would be a case which would need to be brought to court in California, per the agreement.

The judge notes that “it is evident that Cyanogen has changed its stand from time to time”, given the emails exchanged between OnePlus and Cyanogen. The blog post from Cyanogen on 8th December 2014 stated that OnePlus One global users would continue to receive OTA updates, but that this did not include the OnePlus One device in India (the original Cyanogen branded one), where they reaffirmed their commitment to working with Micromax. It’s certainly confusing what Cyanogen’s position is, to say the least.

The Emails

One of the few advantages in court cases (for they are a real drain on everyone, and only end up lining the pockets of lawyers) is that often, internal communications are made public as part of the evidence. And these emails won’t disappoint you! The first email is from Carl Pei of OnePlus, to Kirt McMaster, CEO of Cyanogen. In the email, dated 17th November, which appears to be a reply to an existing one using a thread title of “Cyanogen end”, Carl wrote,

I’m guessing there’s some misunderstanding. Shall we talk about it during your visit in December?

In response, Kirt replied to say,

Carl. We will be terminating our relationship with one plus. I will get back to you with more details shortly.

Now, I’m no expert, but that certainly seems to be the corporate equivalent of dumping your long-term partner by email or SMS. Kirt then sent a second reply around half an hour later, saying

No misunderstanding. We have no reason to meet in sz [Shenzhen]. We are terminating.

OK, that’s pretty harsh. Given these 2 companies have legal agreements in place, this would certainly seem to be a fairly significant issue that would normally be handled professionally by lawyers. Not on emails sent from an iPad, such as this one the following day, sent to Carl from Kirt, copied to Vikram Natrajan (Vice President of Global Partnerships and Distribution) and Frank Montes (General legal counsel) of Cyanogen:

Carl….Any and all communication in regard to oneplus and cyanogen must go through vik and myself.

We will halt support for oneplus devices immediately…..I am also requesting that oneplus stop using the cyanogen brand in any marketing collateral or communication in India.

Frank also cc’d is our general council. If you have any specific questions send them to all of us.


Sent from my iPad

A very interesting request here, concerning stopping the use of the brand name, considering OnePlus already had an agreement in place worldwide, excluding mainland China, to license the name (see earlier). Also interesting to note that the CEO of an Android development company sends his company emails from an iPad… Surely to goodness you should believe in your own product?

There were some further emails, mostly attempting to arrange phone calls or Skype discussions, which offered no real further insight. The only other one of interest was on November 24th, when Carl said “We have removed mentions of Cyanogen in PR, marketing and upcoming product pages already.” The judge stated from these email exchanges, it was clear that Cyanogen was “determined to terminate the license with OnePlus in India”, and that it certainly seemed that OnePlus and Cyanogen “have good business relation of similar kind in many other countries”.

The Final Judgement

The judgement comments on how OnePlus proceeded to launch its phone on December 2nd, despite the concerns regarding the above exchanges, and said that this cannot be easily understood. Likewise, Cyanogen took a U-turn on its blog, on 4th December, then cleared its stance in a subsequent blog post. All very confusing, over what devices would be supported, and what devices wouldn’t.

The end result of the judgement (the part that matters) is that given the lack of an agreement between Micromax and OnePlus, Micromax does indeed have exclusive rights in India as the result of a subsequent agreement. The judgement does note, however, that “the damages, compensation and loss, if any, suffered by OnePlus would be a subject matter of litigation between OnePlus in California.” Somewhat amusingly, the judge has to go by the “last word emanating from Cyanogen”, given the U-turns and confusion caused by their blog posts. The judgement granted an interim injunction against OnePlus (and all the usual associates) from “marketing, selling and shipping its OnePlus mobiles in India”, and that stock “lying in the market… is allowed to be disposed of.”


That was a long read. It’s also pretty in-depth, and not the normal kind of thing we cover here on XDA. I make no apologies for going into great detail on this, but we can certainly draw some conclusions from this. First off, it would certainly appear OnePlus have been “wronged”, and had their agreement with Cyanogen breached. While nothing is a certainty in life, it isn’t at all improbable that we’ll see a case being filed in California shortly. Either way, this highlights the risks of doing business with international companies. It also highlights that an agreement held between 2 parties can, at very least, be modified (effectively) by a third party who enters into a future agreement (in this case, Micromax). The judgment though is correct, in that OnePlus has no relationship with Micromax, and for that reason, there was no grounds for their initial lawsuit. On the other hand, OnePlus and Cyanogen had already entered into an agreement to only take legal action within California, which prevented their initial claim from going anywhere.

Either way, the losers of this situation would certainly appear to be customers. This is one of the reasons why XDA remains 100% focused on the community. History has shown us that the mobile market is fraught with disputes such as these, and that the end users are always the end users, left without updates or support. The actions of Cyanogen in this case certainly appear to be unethical–to grant an exclusive license without negotiating this with someone already previously granted a near-worldwide license is hardly a good-faith way of doing business. For that reason, I suspect we’ll be seeing more about this in the coming months in the courts of California.

It is a sad day to see what was once a community project go in this direction, and betray the goals and ideals of the community from which it was built. This opens up a large number of questions for debate. I’ve seen discussions already from others about this judgment and whether or not parts of it are applicable to Apache licensed software and similar. There is also the question of how a company should behave, both ethically and legally. There’s a number of occasions where it certainly seems that Cyanogen have acted incredibly unprofessionally (as noted by the judge’s comments on U-turns and twists), or perhaps could have even broken their contract with OnePlus. Given the purpose of a contract like this, for one partner to seemingly unilaterally terminate a contractual relationship in a 2-line email seems a concerning move from a company seeking to establish itself and build up a customer base. Given the likelihood that people will want to share opinions and discuss this further, we have created a forum thread in addition to the usual comments area below.

[Thanks to kahtahs for highlighting the court documents to me.]

OEMs or other companies reading this and interested in ways to partner with XDA, or in need of consulting to avoid pitfalls such as these in the Android community, can get in touch with our team here.

The post Cyngn, OnePlus, Micromax – The Legal Battle appeared first on xda-developers.

Indian OnePlus One to Ship Without Cyanogen OS After All

Posted by Will Verduzco December - 10 - 2014 - Wednesday Comments Off

OnePlus One Never Settle

A little under two weeks ago, we first talked about an unfortunate situation whereby upcoming OnePlus One devices sold in India were rumored to ship without “Cyanogen OS” due to Cyanogen Inc. granting exclusive rights to their proprietary firmware in India to Micromax. Needless to say, this situation is less than ideal both for the Oppo offshoot as well as potential Indian buyers, as one of the main appeals of the OPO is undoubtedly its bloat-free CM11s install.

After the inevitable bad publicity, the Cyanogen Blog posted an official statement with the somewhat facetious title Cyanogen’s Commitment to our Users a little under a week ago stating, “OnePlus One will get OTA firmware updates for all global devices, including global devices for our users in India.” All gravy, right? After all, they immediately followed up the statement with a reassuring, “Rather than have misinformation continue to circulate out there, we felt it important to bring this matter to rest.”

Although the statement is factually accurate, it has the potential of being more than a little misleading to potential consumers of the device. This is because the word “Global” here doesn’t refer to devices sold globally, but rather a specific variant of the OnePlus One sold in all regions except for currently available Chinese devices and the upcoming Indian devices. In these regions, devices will (continue to) be sold without CM11s, and instead feature an alternative firmware.

Taken from the official Cyanogen Blog:

As we had pledged to our users, OnePlus One global devices will receive our OTA firmware updates. If a user in India purchased a OnePlus One global device in channels outside of India, they will receive our OTA firmware updates. However, this excludes OnePlus One regional devices sold directly in India. We are committed to our exclusive partnership in India with Micromax, which will be launching its first Cyanogen OS device under their new YU brand.

This is a rather unfortunate situation for potential buyers not only because the upcoming device won’t feature CM11s, but also because their original “clarification” served to complicate matters further. Not only did the official statement introduce confusion among media outlets such as ours, but it inevitably caused a stir among potential buyers who may or may not be fluent with the subtleties of the English language and the distinction between the “global” device and devices shipping globally.

Luckily, there is one saving grace here, and that is that these devices ship unlocked, and one can only assume that the forthcoming Indian OnePlus One will feature identical (or nearly identical) hardware to the global variant. If that is the case, it is highly likely that users will be able to simply flash over the firmware from the global device onto Indian devices, but there are no assurances as to whether or not this will work forever, if it works at all.

We’ve reprinted and linked to the official statements issued by the official Cyanogen Blog below. What are your thoughts on the lack of Cyanogen OS on the upcoming Indian OnePlus One? Let us know your thoughts about the situation and the overall appeal of the device in the comments section below.

December 7 – OnePlus One Global Device Update

Since we clarified our support for OTA firmware updates for OnePlus One global devices, we’ve received a number of inquiries regarding OnePlus One devices sold in India.

As we had pledged to our users, OnePlus One global devices will receive our OTA firmware updates. If a user in India purchased a OnePlus One global device in channels outside of India, they will receive our OTA firmware updates. However, this excludes OnePlus One regional devices sold directly in India. We are committed to our exclusive partnership in India with Micromax, which will be launching its first Cyanogen OS device under their new YU brand.

December 4 – Cyanogen’s Commitment to our Users:

Over a year and a half ago, we founded Cyanogen Inc. with an unfailing commitment to build a mobile OS by the users, for users. We’ve come a long way in a short period of time and are continually amazed by the innovation fostered by our engineering and product teams and the exceptional contributions by the CM community. We couldn’t have accomplished so much in a short period of time if it were not for the commitment and vision we collectively share to redefine mobile computing. With that said, we wanted to address a couple points of inaccurate information that have come out over the past week. We had not commented earlier as we believe in treating our partners and users with the utmost respect.

We are proud of the work we did on the OnePlus One. Through our collaboration with OnePlus, we demonstrated the power of strong hardware and software tuned for exceptional performance. To clarify misinformation out there, the OnePlus One will get OTA firmware updates for all global devices, including global devices for our users in India. Rather than have misinformation continue to circulate out there, we felt it important to bring this matter to rest.

As we look to the future, we want to continue to push the envelope and take the Cyanogen OS to new heights. Our strategic partnership with Micromax and the new YU brand of devices will enable us to bring high quality, amazing experiences to our users in India. Our commitment is and always remains to be a user-centric company, and we will support our users wherever our OS is distributed.

Update: As pointed out in the comments section, further confusion stems from the fact that several users have received OnePlus One “Global” devices even when purchased in India through various retailers. Let’s hope that this continues being the case. But if you’re in India and you’re purchasing an OPO, you’d be well served by being safe and making sure that your potential purchase is the model you’re actually interested in.

The post Indian OnePlus One to Ship Without Cyanogen OS After All appeared first on xda-developers.

Latest Android Platform Stats: Lollipop under 0.1%, KitKat on a Third of Devices

Posted by wicked December - 2 - 2014 - Tuesday Comments Off

Dashboards   Android Developers

In the last few weeks, numerous devices received Lollipop updates both in official and unofficial capacity. Despite its popularity here on XDA, Lollipop is still a very new operating system and OEMs need some time to port it to their devices. As we typically see at the start of every month, Google has released their latest Android platform statistics showing OS and hardware fragmentation on the platform.

1Last month, we saw Android 2.x (Gingerbread and Froyo) finally fall under 10% install base. The number of 2.x users is still decreasing, and now comes in at 9.6% of active users connected to Google Play during the last week. Ice Cream Sandwich also dropped a bit in popularity, and it sits now at just 7.8% of devices.

Jelly Bean is still the most popular OS when we take all three revisions, with nearly half of all Android devices. However, Jelly Bean’s number is coming down a tad, as KitKat is growing. Now, over one third of all devices connected to Play Store are running Android 4.4, or 3% more than last month. Various OEMs tried to update their handsets to 4.4 before the official Lollipop release, and it’s safe to assume that a large number of Mediatek-powered phones will continue to get their updates to Android 4.4. Unfortunately, and as one would expect from such a new OS, Android 5.0 Lollipop has not even made the board, meaning that it is installed on under 0.1% of all devices. It appears that Android 5.0 needs a few months to strengthen its position in the Android Developer Dashboard.

Google also shared stats regarding the screen density of the devices as well as their OpenGL support. Small devices (ldpi) are slowly disappearing from the market. Their share decreased from 6.3% to 5.9%. Devices with hdpi, xhdpi and xxhdpi screens are at a similar level as one month ago. The number of OpenGL ES 2.0 users is still high just over 72% of devices, leaving just under 28% on the newer OpenGL ES 3.0.


All of this serves to show that while OS and hardware fragmentation remains a consideration on the Android platform, its effects are lessening. This is likely due to Google’s approach of giving OEMs the Android source code prior to release, so hopefully we should begin seeing rapid increases of Lollipop adoption in the next 3 or 4 months.

[Source: Android Developer Dashboard]

The post Latest Android Platform Stats: Lollipop under 0.1%, KitKat on a Third of Devices appeared first on xda-developers.

Detect, Avoid IMSI-Catcher Attacks with Android IMSI-Catcher Detector

Posted by wicked November - 22 - 2014 - Saturday Comments Off

Android IMSI-Catcher Detector

Privacy is always an important topic, as well as a delicate one to cover. Corporations spend millions to provide the best security systems, which are then quite often cracked by hackers or security researchers. You might not be aware that some fake cell towers (a.k.a. IMSI-Catchers, StingRays, GSM Interceptors, Subscriber Trackers) can be used to track and monitor specific groups of users and even remotely manipulate a particular phone. Scary, right? Unfortunately, few parts of the world are free of such unethical practices. There are various conspiracy theories–some credible, others not so much–involving the use of IMSI-Catchers in various contexts such as surveillance/spying and assasinations. Today, IMSI-Catchers are a global phenomenon that exist not only in the US, and are used by both law enforcement and other groups.

Now, for the good news. As you know, the XDA forums are full of brilliant people who use their development knowledge to provide some of the best services to Android users, especially in parts of the world where Google themselves tend to fail. XDA Recognized Developer E:V:A and XDA Senior Member SecUpwN and their team members came up with an idea to create an app that identifies and possibly blocks fake cell towers from being used by your phone, thus protecting your privacy. This is how the IMSI Catcher/Spy Detector project was born, here on XDA. All development is fully open-source under GPL v3+ and located in an official GitHub repository. To protect smartphone users and make this app what it is meant to be, the project creators are now actively searching for Android developers, baseband hackers, and brave whistle blowers!

Today, the AIMSICD project is celebrating its first birthday since it launched development on GitHub exactly one year ago (to the minute). Since then, AIMSICD and has become quite popular, both among privacy oriented users and curious security researchers. If you live in an area that may be directly affected by fake cell towers, the AIMSICD Project is definitely a project worth following closely. Moreover, you are invited to submit pull requests if you have a contribution to make! AIMSICD aims to provide you the maximum protection against fraud–for free and completely open source, which is an important factor for credibility in this field. So what are you waiting for? Help them develop their app and contribute to a better privacy-oriented future!

You can learn much more about this project and the security by all its means by visiting their GitHub repository website. Don’t hesitate to contribute pull requests to make this app even more useful and help it reach its goals by following the Development Roadmap. Stay safe!


The post Detect, Avoid IMSI-Catcher Attacks with Android IMSI-Catcher Detector appeared first on xda-developers.

SuperSU BETA: Root Android Lollipop on Stock Kernel

Posted by wicked November - 20 - 2014 - Thursday Comments Off


Up until now, if you wanted to get root on Android 5.0, you needed to flash a modified kernel onto your device to work around some SELinux restrictions. XDA Senior Recognized Developer Chainfire recently released the previously-necessary CF-Auto-Root package, which made the necessary kernel ramdisk modifications to remove SELinux restriction from the script on AOSP. This morning, however, Chainfire brought smiles to many faces, as he announced on Twitter that this would no longer be necessary going forward.

Up until today, Chainfire had planned to release an automated ZIP-based patching tool, to automatically patch kernel images from within TWRP recovery,  until he came across a suitable method to remove the need for this.

This revelation means that Android 5.0 users no longer need to run a modified kernel to gain root access via SuperSU (or other root solutions). While not a huge problem on Nexus devices with unlockable bootloaders, the need for ramdisk modifications was concerning for many users of bootloader-locked devices for which no unlock is available (yes, they do unfortunately exist). The answer to their prayers is now here, and we can present an exclusive explanation of the changes needed. At least for now (until/unless Google patch this), it is possible to gain root access and then install and use SuperSU on a stock Android 5.0 device, without any kernel ramdisk tweaking. The reason for this is the need for SuperSU to run a service as root, to allow for unconstrained root access on SELinux-protected devices.

Previously, SuperSU would leverage the pre-installed AOSP flash_recovery service (used in AOSP to update recovery after an OTA installation) to start the SuperSU daemon (which actually provides the root privileges for apps which request it). With the release of Lollipop, this service has been added to a restricted SELinux context, meaning it no longer has unadulterated access to the system. The previous kernel modifications sought to remove the SELinux restrictions from this script.

Chainfire’s latest beta release of SuperSU resolves this by using the core ‘Zygote’ service (responsible for launching all Java services, and thus all apps installed on a device). Since Zygote is one of the only services available on Android L, which is started as root within the unrestricted “init” SELinux context, this makes it a prime target for use in the operation of SuperSU. After boot, the Zygote service has its SELinux “init” context transitioned to its final (restricted) “Zygote” context. Chainfire has managed to successfully modify the Zygote files, in order to run code as the root user, within the unrestricted “init” context, thus bringing SuperSU back to Android L, without kernel modifications.

This isn’t the first time Chainfire has turned to Zygote to solve these problems; the earlier 2.23 beta used Zygote as a means to possibly circumvent some other SELinux issues (which were causing root apps to break on Android L). This allowed some (but not all) of the non-functioning apps to work – the remainder require some updates by their developers. Unfortunately, when the 5.0 AOSP code was consulted, it emerged that Google had already broken this method of taking over the Zygote service. Given all his previous attempts to take over Zygote had failed, this is a promising step forward.

Chainfire was keen to point out that SuperSU has long been able to modify SELinux policies on a running system (and cautions as to the ease with which an OEM could disable this, and truly prevent meaningful and simple root access), and how any modifications made to Zygote must be made carefully, given the service is run from various different contexts, for different tasks, and this raises the possibility of a number of (nasty) subtle failures. This new SuperSU beta 2.27 is a build for enthusiasts and other techies to play with, to find out what breaks. Fingers crossed–there’s no unexpected show-stopper bugs, and this is a viable way forward.

Take note – even if this beta works out and Zygote is the preferred avenue to gain root access, going forward, the entire process is only a single-line change away from being broken by Google, which would make patched kernel ramdisks the future for root access on Android (thus ruling out root for bootloader-locked devices). Indeed, as a heads-up, the new process may not even work on a fully up-to-date AOSP build, due to some fairly large SELinux changes within the past few months, which were not included in the retail devices, but which will no doubt be there in future releases. Sooner or later though, it seems likely that modified kernel ramdisks will be necessary for root, but this new beta may offer a short stay-of-execution before we must go in that direction.

Check out the release notes for more information about the risks involved in testing this out, and for links. Developers should also be aware that Chainfire is currently hard at work on the “How-To SU” guide (fully updated for Android 5.0), which should be available within the next few days.

[A huge thanks to Chainfire for his work here, and assistance in preparing this article.]

The post SuperSU BETA: Root Android Lollipop on Stock Kernel appeared first on xda-developers.

Google Helpouts on XDA

Posted by wicked November - 13 - 2014 - Thursday Comments Off

Helpouts on XDA

We believe in the power of the Internet forum for sharing information. Questions, answers, comments, and discussion on XDA are archived and searchable so future users can locate and learn from them. XDA Developers has become a valuable compendium of data and information, transforming “long-tail” searches to clear, concise answers.

We also know that sometimes users need more advanced assistance—a deeper, real-time discussion—and these types of conversations can be difficult on forums. With that in mind, we’re testing out a new partnership with Google Helpouts that will enable an entirely new type of communication on XDA. Google Helpouts makes it possible for you to connect to experts for one-on-one conversations via chat, voice, or video with screenshare. You’ll now be able to get instant access to assistance from experts, including XDA Recognized Contributors and Developers. Advice can be tailored to your specific query.

Over the next few weeks, guests on XDA will be able to ask questions via Google Helpouts. We’re starting slow but hopefully over time, we’ll facilitate thousands of in-depth conversations. A highlight of this partnership is that if both parties agree, the session can be sent back to us so we can clean it up and post it to the forums, allowing future visitors to benefit from the back-and-forth discussion.

To get started, find the Helpouts logo on the XDA website, or you can learn more here.

Have knowledge you want to share?

Help other developers solve problems and keep developing your own skills. Sign up now.

The post Google Helpouts on XDA appeared first on xda-developers.

Google’s AOSP QA Team MIA for Android Lollipop?

Posted by wicked November - 6 - 2014 - Thursday Comments Off

L AOSP Browser Crash

As the launch of Android Lollipop continues to dominate headlines, and developers settle down to take a look at the sources for Lollipop, I took a critical first look, from my own compiled AOSP sources, and came to the worrying conclusion that Google simply doesn’t care about AOSP any more. Either that, or their own internal QA team has gotten lost somewhere in the Googleplex, unable to send a distress message out. Either way, the quality of the Android 5.0 AOSP release should certainly be alarming to the executives on the Android team. Let’s take a look…

AOSP Android L LockscreenFirst Impressions

Upon powering on my Nexus 7 2013, running a clean AOSP build (from the r2 release tags), I was greeted by a wonderful Jellybean-era default wallpaper. For a company apparently so keen to push forward the Material Design philosophy of bolder, more geometric designs, with brighter and more contrasting colours, it seems strange that a default wallpaper using slow-blended, muted colours would be part of a bright, pastel-oriented operating system. It doesn’t exactly set a brilliant tone for this release of AOSP.

Oh well, fair enough–it’s only a wallpaper! You could always just go and get some of the proper ones.

User Interface Consistency

After booting up AOSP, you’re faced with the ever-dwindling number of applications that are actually part of the Android open-source project. Unfortunately, we’re now down to the AOSP browser, a calculator, calendar, camera, clock, contacts browser, downloads viewer, email app, gallery, music player, search button, and settings. Yup, that’s it! Everything else has been offloaded into the closed-source Google Apps suite. Search barely counts, as it would appear to be unchanged from the era of Android, pre-1.5.

Android L WiFI Setup - FloGetting Online

First off, I decided to get online–time to add a WiFi network. Unfortunately, it appears even a simple dialogue box (which every user will see) is too difficult for Google to get right! All of the headings had text-wrapped, often mid-word. For a final release, this is simply pathetic, especially given this was also present in the preview releases. It’s worth noting at this point, that I am holding the device in a portrait orientation, just like the device is pictured for promotional photographs.

It appears Google’s user interface department was taking a vacation when this part of the process was designed. Likewise for the quality assurance department. For something like this to be in released software is utterly dumbfounding. Does nobody in Google take responsibility for making sure the end product has a little bit of polish? They managed to get it right in landscape orientation (below), just apparently not for portrait!


Oh well, surely it can’t get any worse? It’s not too big a deal; no functionality lost. Perhaps just a little egg on the face of the savior and hero of Android design fans?

Android L AOSP BrowserThe Browser

Opening the Browse yields a somewhat disappointing sight. It is visually identical to the browser included in Android 4.4. Which was pretty much the same as in 4.3, 4.2 and 4.1. And pretty much 4.0 as well, while we’re at it. The AOSP browser, sans Material-remake, is really a rather sorry sight.

It’s almost as though it’s stuck in a time-warp! The application’s layout is clearly not consistent with the User Experience (UX) design principles of Material design or colour scheme. But hey, let’s put that aside and actually use the Browser–we don’t want to be too fussy.

Heading to the Settings menu, I hit “General”, just to take a look at what was on offer. Unfortunately, all that’s on offer is a Force Close, due to a programming error. Checking the error logs makes it seem that the issue is one that’s easily fixable (and something I seemed to have to fix in 4.4, albeit for only one particular screen of Settings).

L AOSP Browser CrashUndeterred, I proceeded to try the other options in Settings. Each yielded a similar Force Close.I have no idea what on earth has happened over at Google HQ, but it’s clear they have never heard of the two words, “quality” and “assurance” being put together to form a phrase. I’d made this discovery within about 5 minutes of booting up AOSP. Surely to goodness, someone actually tested this before releasing it?

Ah well, not really a usable browser, let’s take a look elsewhere!

Material, oh Material , Wherefore art thou Material?

Android L CalendarUnfortunately, it appears that Google’s commitment towards Material design doesn’t extend to its own core applications. Although we recently saw an update to Google Calendar on Google Play, the AOSP calendar app appears relatively unchanged from 4.4. As do the dull grey status bars. The calendar has always been a key selling point of the concept of a smartphone or tablet, yet the AOSP one certainly seems to have had no love yet.

Unfortunately, the same can be said of the Music app. I won’t bore you with a screenshot, but needless to say, nothing has changed (at least from an appearance perspective) since Android 1.5 or thereabouts! Likewise for the Gallery, and Search.

OK, Let’s set up Email!

Android said no, unfortunately. Adding an IMAP account yielded a series of constant force closes. Apparently as a result of the IMAP account not specifying any details about calendar sync. Newsflash, newsflash, developers at Google, IMAP isn’t a calendar sync protocol–it’s simply an email sync protocol. Nothing more. At least Exchange email works, but it seems Google are determined to force users into using the proprietary Gmail application to access even non-Gmail accounts in the future. I suspect a fork of the AOSP Email app will be necessary if this continues!

It’s a real shame actually, as Email is one of the few apps to have had a Material design overhaul. Sure, it’s not perfect (the UX is a bit fumbly, especially the hamburger menu on the left hand edge), but it at least has some aesthetic polish. It’s just a real shame that Google can’t seem to get the basics right with this new release of AOSP, and actually support adding an email account!


I really wanted to like Android 5.0. I tried out the developer preview release, which was nice to use. There were issues and bugs, but that’s what preview releases are for! Preview releases don’t get the same QA as the final product. Unfortunately though, it seems that Google’s entire QA team went missing in action before the launch of Android L. With three new devices shipping with L, it remains to be seen if these issues will carry across onto the actual factory images – it’s notable that no factory images have been released for older devices, such as the Nexus 7 2013. Perhaps someone senior spent more than ten seconds with the release, and put on the brakes?

Frankly, I’m really disappointed by Lollipop. As a developer, the lack of testing here is truly shocking. Custom ROMs on XDA would certainly appear to undergo more testing than this release had. As someone who cares a lot about User Experience, the lack of quality assurance on the interface and aesthetics is downright disastrous. Either way, I would certainly not be surprised to see a large number of vacancies posted for positions on Google’s Android team, after this launch. Lollipop, at least in its AOSP form, is not ready for the big-time just yet. A trip back to the drawing board, and hiring of some people who understand test-driven development would go a long way. Or maybe go take on an external consultant to help get the team into shape and turning out quality products? My email is always open to approaches (lol, as if).

Maybe we should all just hang off in the hope of an android-5.0.0_r2.1 tag? It now appears that Google has delayed the release of OTA builds of Lollipop until the 12th of November (see comments). Hopefully the quality assurance team will have found their way back to the office by then!

The post Google’s AOSP QA Team MIA for Android Lollipop? appeared first on xda-developers.

Source Built Lollipop for Nexus 4, 5, 7, 10, Xperia Z

Posted by wicked November - 6 - 2014 - Thursday Comments Off

android 5.0 lollipop

Update: Thank you to commenter Amith KK for letting us know about the Source-Built Lollipop port for the Nexus 7 (2012) by XDA Senior Member MidnightNinja.


The source code for Android 5.0 Lollipop was only fully released yesterday, but developers on XDA work extremely quickly. In less than one day, some developers have managed to create Lollipop builds for particular devices. Let’s see which devices are capable of using Lollipop as a daily driver so far.

It was easy to predict that Nexus devices would be the first to get these unofficial builds. Google Nexus 4 “mako” users have a chance to test one such Lollipop build. It has been prepared by XDA Senior Member C-o-M, and it is nothing more than a vanilla build of AOSP, without Google Apps or any other enhancements. The build reportedly works with 4.4.4 Gapps, but there are some flaws like a force closing keyboard or missing sync provider in the Calendar app. There is another build made by XDA Senior Member sykopompos, but its’ a direct port from Nexus 5’s preview releases.

Nexus 7 (2013) “flo” owners can use a Lollipop source-built port by XDA Recognized Developer scrosler. The developer prepared a Google Apps package with applications available for the Nexus 9, which is also a tablet device, so there should be no issues caused by the gapps package used. If you’re planning to use this build, you need to flash the newest version of the Nexus 7 bootloader from the latest developer preview.

Source-built Lollipop is also available for the Google Nexus 10, thanks to XDA Senior Member stiggy2012. Although the build is devoid of Google apps, users are already reporting great success in terms of usability and stability. You can get in on the action at the Lollipop for the Nexus 10 thread.

Quite a bit of Android 5.0 Lollipop goodness was made available for the Google Nexus 5 “hammerhead”. There are 3 ROMs available. The first Lollipop ROM for the Nexus 5 is a pure AOSP experience and was compiled by XDA Recognized Developer OldDroid. The ROM is available as fastboot images, just like the images prepared by Google. It lacks Gapps and new binary files, but we need to wait a bit to see them available. The Second Lollipop ROM for the N5 comes from XDA Recognized Contributor herna. This is a pure AOSP experience with a modified kernel. The last N5 release is a pure AOSP build made by XDA Senior Member yashade2001.

The only non-Nexus device on the list at this point is the Sony Xperia Z. Android 5.0 Lollipop was ported over by XDA Senior Member thomas1991_12, but there are quite a few items that need to be fixed before we can call it a daily driver. This should be resolved pretty quick, as the Xperia Z was one of the first devices with fully working Android 4.3. You can grab it from here.

There may be some ROMs that have popped since we started writing this article, so please feel free to share any links you find in the comments below. The community works incredibly quickly, so it’s pretty hard to keep up. Hopefully, Google will finally release the official images for all of the supported Nexus devices, as well as the proper binaries, so truly stable builds can be created. This will also surely speed up the development for other devices.

The post Source Built Lollipop for Nexus 4, 5, 7, 10, Xperia Z appeared first on xda-developers.

Android 5.0 Lollipop Source Fully Available to Build

Posted by wicked November - 4 - 2014 - Tuesday Comments Off


After many long hours of waiting, Google has finally finished pushing the full Android Lollipop source code to their Git mirror. Surprisingly, there are two revisions available already: 5.0.0_r1 for Nexus 9 and 5.0.0_r2 for Nexus Player. Get your terminals ready; there’s a lot of of repo syncing to do.

Google started to push the sources yesterday, but the whole process took them a little longer than most would have hoped. Android 5.0 is a big release, so there are lots of new repositories that needed to be added. If you can’t wait for Google to release the refreshed factory images and binaries, you can build the OS by yourself–albeit with older driver binaries. All you need to do is execute the following command in the Terminal window of your PC or build machine:

repo init -u -b android-5.0.0_r1

The sync process might take a long time, since you will have to download many gigabytes of data. And of course, the estimated time of arrival may vary due to factors like your connection speed and congestion. Soon, we will see numerous custom ROM based on Android 5.0 Lollipop, such as all the large-scale multi-device custom ROMs that we’ve all grown to love.

The exact release date for the Nexus device factory images is still unknown. But hopefully, we will see them start to appear in the next few days or weeks. Meanwhile, go to syncing and code reviewing!

The post Android 5.0 Lollipop Source Fully Available to Build appeared first on xda-developers.

Latest Android Platform Stats: KitKat Hits 30%, 2.x Falls to 10%!

Posted by wicked November - 4 - 2014 - Tuesday Comments Off

Dashboards   Android Developers1

Dashboards   Android Developers2

As is the case at the start of every month, Google has once again updated its Android Developer Dashboard website with the latest Android Platform Distribution Stats. These numbers show the degree of platform fragmentation and few other interesting things that can be very useful especially for developers looking to better target their applications’ UI and required API level.

This month is a pretty significant one for Android 4.x KitKat. For the first time in its lifetime, the OS revision has finally reached 30% of active Android devices that have connected to Google Play in the last week. This leaves leaving Jelly Bean 4.1.x in second place at just under 23% and 4.2.x in third place with little over 20%. Older versions of Android are still available on a small number of devices, with a 2.x (Froyo and Gingerbread) finally falling to around 10% combined. In case you missed that, Android 2.3 is now for the first time in quite a while under 10% install base. Ice Cream Sandwich is also down at just 8.5%. They won’t be missed.

This increasing number of devices running KitKat might be due in part to MediaTek, which finally updated a large number of devices using its SoC. Some other OEMs and chip manufacturers have also helped by updating Android versions prior to Android Lollipop’s release to the AOSP. In the coming months, the number of KitKat and Jelly Bean devices may end up decreasing as we hope to see new devices shipping with Android 5.0 and some older devices getting OTAs to Google’s latest edible.

As always, Google also shared statistics regarding the screen size and OpenGL version. The majority of devices use the normal screen size with hdpi density. The number of big devices may increase in the next generation due to Nexus 6 and OnePlus One–and of course popular devices like the Note 4. Unfortunately, almost three quarters of devices are running OpenGL ES 2.0 rather than OpenGL ES 3.0.Dashboards   Android Developers3

















As we’ve seen in the past, the number of devices running older operating systems will undoubtedly decrease as OEMs start updating their handsets to the latest versions of Android. Hopefully, this will happen at a faster rate than we’ve seen in previous versions. Google is doing its best to reduce fragmentation, so we should expect to see the results pretty soon.

[Source: Android Developer Dashboard]

The post Latest Android Platform Stats: KitKat Hits 30%, 2.x Falls to 10%! appeared first on xda-developers.