On 11/01/2013 07:01 PM, Felipe Crochik wrote:
I understand androiddeployqt is supposed to separate the "deployment"
from qt but to be honest so far it seems to be harder than before -
probably because I just don't know how is supposed to work.
Before you would have all the "android files" added to your project
and could control them with the *.pro file and macros.
If I am guessing right, now anything that is specific to android is
"auto generated" and if the developer wants to customize he has to
add to the project and add something like "ANDROID_PACKAGE_SOURCE_DIR
= $$PWD/android" to the tell the tool to copy these files over the
auto generated ones.
Is there any documentation for how to control androiddeployqt? A few
things that I couldn't figure out:
The documentation is here:
http://doc-snapshot.qt-project.org/qt5-stable/deployment-android.html#androiddeployqt
1. how to get rid of all the "--Added-by-androiddeployqt--" items that
get "bundled_in_assets" ? I assume I can edit the "libs.xml" but not
sure this is the recommended way.
You can override the autodetected dependencies by setting the
ANDROID_DEPLOYMENT_DEPENDENCIES
variable in your .pro file. If you do this, then you will not benefit
from the auto-detection and will need to list all the dependencies
yourself.
Note that right now, androiddeployqt will bundle all the QML imports
which are supported by your application's module dependencies. In the
future, only the imports which are actually used by your QML files will
be included.
2. creating a "custom" AndroidManifest.xml file is something that I
imagine will happen quite often but it seems that the file includes
things that are auto generated. Is there any mechanism in place to
merge "my version" with the changes from the tool?
Take the AndroidManifest.xml template from Qt
($QT/src/android/java/AndroidManifest.xml), put it in a folder in your
project and set this folder as the ANDROID_PACKAGE_SOURCE_DIR in your
.pro file. Alternatively, you can click on the "Create
AndroidManifest.xml" button in Qt Creator.
3. With the first qt5.2 beta all the plugins were included
automatically. With the one today it seems that this has changed. For
instance the qmllocalstorageplugin is not included automatically
anymore. Is this a bug or is it something that I have to manually
specify (if so, how?)
The plugins are included automatically, but you have to list the module
dependencies of the plugin as dependencies of your app. For instance,
since the local storage plugin depends on QtNetwork and QtSql, you have
to add "QT += sql network" in your .pro file. This was also required in
Qt 5.1. The reason for this is to avoid depending on all Qt libraries
for all apps.
When we implement scanning the actual imports used by your app, we can
improve this for QML, and automatically include all imports that are
used as well as their dependencies automatically. The logic will still
be needed for regular plugins though, as there's no way to statically
detect which plugins will be required at run-time.
-- Eskil
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development