Latetly I have been trying to compile Android 4.4 Kitkat from the sources on a raw Ubuntu Trusty Tahr (14.04 LTS).
Sure everyone is looking on Lollipop and its successors these days, but yet a lot of boards do not provide for support for it yet so this might be interesting for someone.
Kitkat was built with toolchains older than the current Ubuntu LTS, so if you religiously follow the instructions you can find on source.android.com or XDA-University, you might encounter some problems. Here is a step by step guide to create your build environment.
Consider it a replacement for the official page named :
Initializing a Build Environment
Setting up a Linux build environment
Installing the JDK
Gingerbread through Kitkat requires Java 6 to compile. Not only they require Java 6 but they require the JVM from Oracle, and not openjdk.
There’s a Launchpad PPA (Personal Package Archive) maintained by webupd8.org, a popular Ubuntu Linux blog, which provides the most recent installers to automatically download and install Oracle Java JDK6/7/8/9 from oracle website.
As convenient as System.Web.Http is for .NET developers, while working on my current project, I discovered that it did not support array values out of the box.
When you want to post something in the ‘x-www-form-urlencoded’ form, and using the FormUrlEncodedContent class, you are limited to string keys and values as FormUrlEncodedContent is build out of an IEnumerable<KeyValuePair<string, string>> (or more commonly a Dictionary<string, string>) object.
What if I want to send an array like : POST http://dev.someserver.fr/0.2/theaters/set HTTP/1.1
Well you can’t. Or you could rewrite and extend FormUrlEncodedContent.
Or you could just reuse the following gist, because that’s precisely what I’ve done :
Note that I only needed (thus added) support for array string values, it can be extended for array keys, array of numeric values, …