Android is a massive leap forward for the mobile industry

April 7, 2012 in News

posted by Thom Holwerda on Mobile Os News
IconGoogle’s CEO, Larry Page, has just published a letter titled “2012 Update from the CEO“. It’s a state of the union-sort of thing, mostly filled with the usual stuff of how great Google supposedly is (we’ll decide that for ourselves, why thank you). There’s one bit in it, though, that caught my eye – something that puts Android’s supposed fragmentation issues in a rather different light.As you all know, Google was well aware of what mobile would do to the industry, even before the iPhone was being developed. Google acquired Android in 2005, but a year earlier, Google was already talking to Andy Rubin about the whole thing. After detailing how good Android is (we’ll decide that for ourselves, why thank you), Page explains how it wasn’t always that easy.

“It wasn’t always that easy,” he recollects, “I remember first meeting Andy Rubin, the creator of Android, back in 2004. At the time, developing apps for mobile devices was incredibly painful. We had a closet full of over 100 phones, and we were building our software pretty much one device at a time. Andy believed that aligning standards around an open source operating system would drive innovation across the mobile industry. At the time, most people thought he was nuts.”

Today, the situation is entirely different – and for the better.

“Fast forward to today. Android is on fire, and the pace of mobile innovation has never been greater. Over 850000 devices are activated daily through a network of 55 manufacturers and more than 300 carriers,” Page adds, “Android is a tremendous example of the power of partnership, and it just gets better with each version. The latest update, Ice Cream Sandwich, has a beautiful interface that adapts to the form of the device. Whether it’s on a phone or tablet, the software works seamlessly.”

Looking at Android from a more historical perspective changes the game somewhat. I’ve been pretty clear about how I believe Android’s biggest threat is its fragmentation (version-wise, not device-wise), leading to craziness like how only a small percentage of Android users being on Ice Cream Sandwich, and even then, many of those are using some sort of manbearpig version of ICS(thank god for CyanogenMod 9 on my SII). Yes, compared to the cleanliness of iOS, it’s pretty pathetic.

However, if you compare it to the mobile industry of yore, Android is not just an improvement – it’s a monumental, perhaps even revolutionary improvement. Back in the day, each mobile phone was utterly unique, making it very hard to develop for them. Thanks to Android, we’ve been able to retain the wonders and joys of a highly diversified hardware ecosystem, and yet still retain a rather workable and mostly acceptable common software layer.

Supporting the wide variety of Android hardware might be harder than supporting the few devices iOS runs on, but it’s still a hell of a lot better than the way the mobile industry used to work. Android has a lot of weaknesses, but when placed in the proper historical context, it’s still a massive leap forward.

Necessitas Qt for Android x86

April 5, 2012 in Android X86, Qt framework

I am attempting to port an Android Qt (Necessitas) app to x86.  I
figure all I have to do is to build QT from source using the x86
flag.  However, it was not nearly so simple.  After some research, I
found a way to get the build working.  However, it still seems like
something is wrong.  If anyone else here has had success building QT
for x86 and deploying an app, I’d like to solicit your feedback on my
procedure below:

1) git clone git://anongit.kde.org/android-qt.git
# Is this the right repo?  I notice it doesn’t have qt-mobility or qt-
webkit.

2) Remove the following lines from: mkspecs/android-g++/qmake.conf and
mkspecs/features/qt.prf
contains(NDK_ROOT, “.*r6″)|contains(NDK_ROOT, “.*r5.*”)|
contains(NDK_ROOT, “.*r5″) {
!contains(ANDROID_PLATFORM, android-4): !
contains(ANDROID_PLATFORM, android-5): !contains(ANDROID_PLATFORM,
android-8) {
message(“Your NDK-version is out-dated. A work-around is
enabled. Consider updating your NDK (workarounds are required until
r6(a))”)
QMAKE_LFLAGS_SHLIB += $$ANDROID_PLATFORM_PATH/lib/
crtbegin_so.o $$ANDROID_PLATFORM_PATH/lib/crtend_so.o
}
}

3) Edit android/androidconfigbuild.sh
NDK_ROOT=~/necessitas/android-ndk-r6b
NDK_PLATFORM=9
NDK_TOOLCHAIN_PREFIX=”x86″
NDK_TOOLS_PREFIX=”i686-android-linux”
TARGET_ARCH=”x86″
ANDROID_ARCHITECTURE=”x86″

4) ./androidconfigbuild.sh -q 1 -h 0
# -q 1 is for configure/compile
# -h 0 is for static version

5) Wait for the build to finish

6) Copy to ~/necessitas/Android/Qt/480/x86

7) In Qt Creator, Open Project

8) Go to Projects | Build Settings | General | Manage Qt version

9) Add ~/necessitas/Android/Qt/480/x86
#Observe the following error: Qt version is not properly installed,
please run make install

QT Creator version information
Qt Creator 2.3.1
Based on Qt 4.7.4 (32 bit)
Built on Oct 16 2011 at 16:03:12

Thanks for helping me out and I hope this information is useful for
anyone else attempting to do the same

UPDATE

Found the problem.  Forgot to the set install flag (-k 1) in #4 when
executing the build script:

android/androidconfigbuild.sh -q 1 -h 1 -k 1 -i ~/necessitas/Android/
Qt/480/x86

Setting -i <DEST_DIR> also eliminates the need for step 6.

Android look & feel for Qt

March 27, 2012 in Qt framework

Hello folks,

I’d like to share with you current Android look&feel for Qt, because
the images say more than a thousands words, I upload a short movie
here: http://youtu.be/2X8R3lZc4EI .

YouTube Preview Image

How it works now, and how it will work in the end:
Now I create an android application to extract the same look&feel
informations into a json file (these infos are the same infos used by
android to draw the controls). The extraction takes some time  (5-10
seconds), so in the end this code will be integrate within Ministro,
which will extract ONLY ONCE these infos into a central read only
location and it will pass the location path to your application
android platform plugin.
I created a qt style plugin which parse the json file and extract the
need infos to draw the Qt controls, as you may seen they look the same
as android ones! The parsing is fast 50-100ms. In the end the style
plugin will be integrated into android platform plugin and it will be
the default style plugin for android.

The style plugin is *NOT* finished yet, only a few controls are
supported, is a very slow and painful process to add a control. First
you have to check how Android draws the control, extract the needed
information, store it into the json file, then use it to paint the
controls. I hope in a few days to cleanup the code, and to push it
into a new branch (“style-plugin”). If anyone wants to help, just send
me a mail.

I hope this plugin will be used also by QML components to draw the
controls, this way Qt applications will look&feel the same as any
ordinary Android apps, no matter if they are made using QML controls
or classic QtWidgets.

Thank you for your time !

Full thread on android-qt group

Calligra Office on Android

March 27, 2012 in News, Qt framework

As most of you are probably well aware, since quite a while it is not very hard to write Qt applications to run on Android devices. A couple of weeks ago we at KO GmbH decided to look into how hard it would be to get KDE applications to run, and more specifically, if it would be possible to run Calligra with one of its mobile UI’s on an android device.

So after some (sometimes frustrating) hacking, I’ve got the first results: Calligra Mobile running on an android tablet. There are still lots of rough edges, and not everything works correctly, but as you can see in these screenshots, it does actually run and work. To get to this point I had to make some rather ugly hacks though to work around some of the android limitations.

Latest Android SDK supports x86 emulator images with hardware acceleration

March 26, 2012 in Android X86

Today we are releasing an update to the SDK Tools and the Eclipse plugin. Revision 17 brings a lot of new features and bug fixes in various areas such as Lint, the build system

The emulator is seeing some big improvements as well:

  • Thanks to contributions to AOSP from Intel, the emulator now supports running x86 system images in virtualization mode on Windows and Mac OS X.

The weird part is that linux-kvm acceleration is missing in the notes but are present in documentation area
If you scroll down to
Configuring VM Acceleration on Linux

ps: still no Python by default and still no ndk included by default

Oracle’s final damage claim less than a penny for google ($100 million)

March 22, 2012 in Uncategorized

News from OSNews via groklaw

Some people (you know who) predicted the Oracle-Google lawsuit would spell doom for Google and Android. Well, turns out this was all a huge fuss over nothing. Oracle’s damages claim started at an idiotic $6 billion - but the final claim is less than $100 million. Oracle’s patent trolling is turning into a huge failure of epic proportions.

[Epic fail is epic fail]

CyanogenMod 9 alpha puts Samsung to shame

March 22, 2012 in News

This past week and this weekend I’ve finally found the time to enter into the colorful world of custom Android ROMs. After figuring out just how insanely great and awesome ClockWorkMod Recovery is, I set about to figure out what the best Ice Cream Sandwich ROM is for the Galaxy SII. While the answer to that question became clear quite quickly, this answer also gave rise to a whole bunch of other questions.

Read more on MobileOSNews

Linux 3.3 released with Android merges

March 19, 2012 in Uncategorized

Kernel 3.3 released with Android merge
Recommended LWN article: Bringing Android closer to the mainline

For a long time, code from the Android project has not been merged back to the Linux repositories due to disagreement between developers from both projects. Fortunately, after several years the differences are being ironed out. Various Android subsystems and features have already been merged, and more will follow in the future. This will make things easier for everybody, including the Android mod community, or Linux distros that want to support Android programs.

Code: (commit)(commit)(commit)(commit)

The OpenGL ES port of FreeGLUT for Android is progressing

March 19, 2012 in Uncategorized

The OpenGL ES port of FreeGLUT is progressing :)

Now we have:

  • Basic Android/EGL port
  • Full X11/EGL port (using Mesa EGL), so we can test GLES on desktop :)
  • Geometry functions: upgrade from glBegin to glVertexPointer and GLES compatibility (triangulation). We also plan to provide shaders-compatible (OpenGL >= 2) geometry functions.

In addition, the work is available in the official repository!http://freeglut.svn.sourceforge.net/viewvc/freeglut/trunk/freeglut/freeglut/

Question: Mesa and Android ship GLES 1&2 in separate libraries. So at first glance, we’ll have to ship 3 FreeGLUT builds:

  • freeglut.so / .a
  • freeglut-gles2.so / .a with -DFREEGLUT_GLES2 (-lGLESv2 + GLES2/gl2.h)
  • freeglut-gles1.so / .a with -DFREEGLUT_GLES1 (-lGLESv1_CM + GLES/gl.h)

Though, EAGL (on iPhone) can initialize either GLES 1 or 2 at run-time. Maybe it’s possibly to do that by dlopen’ing the GLES library dynamically, but this won’t work for static builds – and make distro packagers cringe unless I’m mistaken ;)

Do you think there’s a way to provide a unified version?

Android x86 4.0 RC1 for Virtualbox is released

March 17, 2012 in Uncategorized

As you might know Android x86 4.0 RC1 is already released So there is a new build for Virtualbox

New version is  here : http://www.buildroid.org/Download/android-x86-vm-20120307.iso.gz

Updated with last version from the android-x86 project (4.0-RC1 release).

If mouse doesn’t work please disable mouse integration

News via Daniel comment

You can check his related work on the Virtualbox port (previous build that works quite ok : ethernet patch …)