Necessitas alpha 4, a New Hope!

BogDan Vatra taipanromania at gmail.com
Sun Aug 26 22:20:14 UTC 2012


Hello folks,

 Today I have the great honor to announce the alpha 4 release of
Necessitas. Since Nokia’s radical change of direction, Qt has had a
very hard time and many asked themselves whether it was worth
investing their time and money in it anymore. I’m not going to comment
further on Nokia’s recent stupid decisions because I value too highly
the contributions Nokia has made to Qt.
 Instead, I want to comment on the future of Qt and how to make sure
it will survive no matter what. I didn't comment on this matter until
now because I was too busy getting this release out, and how better to
prove to you folks that we are committed to Qt than to continue our
work with this new release? First and foremost Qt is free software,
according to the KDE Free Qt Foundation[1] Nokia (and most probably
also Digia) must release it under both the LGPL 2.1 and the GPL 3.
Otherwise *"the Foundation has the right to release Qt under a
BSD-style license or under other open source licenses. The agreement
stays valid in case of a buy-out, a merger or bankruptcy."* So from
this point of view you don't have anything to worry about! What about
Qt's future development, who will continue to work on it now that
Nokia have dropped it? While we all share great hopes that Digia will
manage the Qt Project well, the beauty of free software if that it
doesn't need any single company behind it, it also needs a committed
community; KDE, Necessitas, ICS, KDAB etc, and most importantly *YOU*!
Now more than ever it is very important for all of us to join together
and for you to show your support and appreciation. You have to ask
yourself which option is better for you:
  - to be selfless and to spend some of your time (or your money) to
make the things you love better and to keep them free for everybody...
  - or to be selfish, forget about Qt and start learning some crappy
closed source C# or iFramework instead which, some day (sooner or
later), will die with the *ONLY* company behind it?

 We choose the first option. The Necessitas developers will do their
best to succeed where Nokia has failed: to make Qt available on a huge
number of (Android-powered) devices. Yes baby, the next billion is
coming!
 This alpha 4 release is one of the final steps that we needed to do.
It *should* be our last alpha release! If there are no show-stopping
regressions reported, in one and a half months we'll ship the first
beta release. Why one and a half months? From now on, to be sure that
there are no regressions introduced, releases will be made in two
steps:
  - The first step is to release the SDK, and to push the new Android
libs to Ministro's testing repository. The new Android libs will stay
in the testing repository for at least one month to give developers
enough time to test their apps using them. They should use the
Ministro configuration tool to switch to the testing repository.
Additional updates will be released in the testing repository and this
period may be extended if any regressions are reported. A new update
must stay for at least two weeks in the testing repository; known
issues are not considered regressions!
  - Once the new libs in the testing repository are determined to be
regression-free, they will land in the stable repository and they will
be available to all Android users.

 In other words developers should perform the following two steps:
  - Update the SDK, use the Ministro configuration tool to switch to
the testing repository, update your apps, and report any regressions.
*DO NOT* publish any apps on Google Play until the version from the
testing repository reaches the stable repository, otherwise they will
stop working!!!
  - *WAIT* for the alpha 4 release to land in the stable repository,
then you can publish the updated apps on Google Play!
Go back and carefully read these two statements one more time!

 The alpha 4 release will stay in the stable repository for another
two weeks, then *if no regressions* are reported, it will be
re-released as beta 1. Basically we'll simply re-label it as beta 1!
>From that moment we'll guarantee that the ABI/API will remain stable
and therefore you can safely deploy any apps you like on Google Play!

The most important changes:
Necessitas has a new home page: http://necessitas.kde.org
Here you can find latest news and information on how to get involved
(http://necessitas.kde.org/getinvolved.php), how to help and to get
help (http://necessitas.kde.org/gethelp.php) and much more.
We've also moved the wiki and the bugs from sf.net to KDE's infrastructure.

Qt framework:
- Update to Qt 4.8.2
- Native Android look&feel for classic widgets.
- Native Android menus - known limitation: Android menus support only
one submenu. We'll try to find a solutions for this problem in a
future release (follow https://bugs.kde.org/show_bug.cgi?id=304240 to
check its progress).
- Fixed user Java/C++ interaction.
- New assets access scheme. Please add "assets:" prefix, check
http://techbase.kde.org/Development/Tutorials/Necessitas for more
information.
- SMP safe atomics.
- Many bug fixes.
Known issues/limitations:
- As stated above, native Android menus support only one submenu.
- While some demos and examples work fine, many will not, particularly
on Windows.
- No other new issues.

Ministro:
- Extracts Android native look&feel.
- Secure config files downloading.
- Bug fixes.
Known issues/limitations:
- None.

Qt mobility:
- Android Bluetooth implementation.
- A few bug fixes.
Known issues/limitations:
- No new issues.

QtCreator:
- Updated to 2.6 (alpha).
- Fixed bug in ma-make.exe where all rule commands were run through a
batch file leading to each 8192nd character being dropped. Now
CreateProcess is used for nearly all commands, and a work around for
the (MS) batch file bug was also implemented.
- A few other bug fixes.
Known issues/limitations:
- This release is based on an un-released QtCreator version, so some
unexpected issues may occur.
- When you install the qt src package, the source paths mapping is not
set automatically anymore so to debug the qt libraries at the source
level, you need to set it manually: put
“/tmp/necessitas/unstable/Android/Qt/482” in the source path and
“YOUR_INSTALLATION_FOLDER/Android/Qt/482” in the target path.
- On Windows, adb loses track of the connected devices a lot and
otherwise misbehaves (worse with emulators), causing QtCreator to
hang. When this happens, to get it to respond again you can execute:
android-sdk\platform-tools\adb.exe kill-server &
android-sdk\platform-tools\adb start-server &
android-sdk\platform-tools\adb devices (from cmd.exe in
YOUR_INSTALLATION_FOLDER) or:
taskkill /F /IM adb.exe /T  (from cmd.exe in any directory)

SDK Installer framework has been updated with upstream’s latest
changes. One of the biggest improvements is the ability to add
3rd-party repositories, so:
- If you are a developer who has something interesting to share for
Android (e.g. plugins, custom widgets, QML controls, etc.) please add
your repository to
http://community.kde.org/Necessitas/3rd_party_SDK_repositories
- If you are a developer looking for something which is not shipped
with the Necessitas SDK, you can check the same page:
http://community.kde.org/Necessitas/3rd_party_SDK_repositories.
Known issues/limitations:
- Due to some bugs, the old installer can’t be used update the SDK, so
you need to reinstall the SDK using the new installers.

Updated the Android NDK and Android SDK to latest versions. Please do
not use the Official Google Android NDK, instead use our Necessitas
Special version.
The following people have made large contributions to this release
(alphabetic ordering):
 - Marco Bernasocchi <marco at bernawebdesign.ch> Moved all the bugs from
sf.net to kde.org. He is also one of the Necessitas website & wiki
maintainers.
 - Ray Donnelly <mingw.android at gmail.com> as usual he had a decisive
contribution to this project. He created a custom Android NDK (the
official NDK-r8b was not able to build Necessitas), gdb with Python
support, and most importantly, the Windows and Mac OS X SDKs.
 - Willy Gardiol <willy at gardiol.org> reworked most of Necessitas
website and wiki pages. He is also one of the Necessitas website &
wiki maintainers.
 - Marijn Kruisselbrink <mkruisselbrink at kde.org> and Chris Browet
<cbro at semperpax.com> did most of the native Android menu integration.
 - Lauri Laanmets <lauri.laanmets at proekspert.ee> Android Bluetooth
implementation.
 - Tyler Mandry <tmandry at gmail.com> reworked Java/C++ interaction,
added support for Android QML debugging in QtCreator.
 - BogDan Vatra <bog_dan_ro at yahoo.com> Most of the QtCreator Android
Plugin, Ministro updates, SDK Installer updates, Android native
look&feel (Qt and Ministro implementation), cleanup of native Android
menus integration, new assets implementation, SMP safe atomics, most
of the bug fixes.

As usual, special thanks goes to KDE for their hosting and support!

I'll also like to personally thank everyone who has summited bugs (and
even better, patches for some of them!)

You can check out Necessita's glory wall
(http://necessitas.kde.org/people.php) for a complete list of all
contributors (who agreed to be listed).

You can grab the new SDK installer for the following platforms:
-GNU/Linux: http://files.kde.org/necessitas/installer/release/linux-online-necessitas-alpha4-sdk-installer

-Windows: http://files.kde.org/necessitas/installer/release/windows-online-necessitas-alpha4-sdk-installer.exe

-Mac OS X: http://files.kde.org/necessitas/installer/release/mac_osx-online-necessitas-alpha4-sdk-installer.7z

Yours sincerely,
BogDan.

[1] http://kde.org/community/whatiskde/kdefreeqtfoundation.php


More information about the Necessitas-devel mailing list