diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-11-30 14:20:32 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2017-11-30 13:49:46 +0000 |
commit | 50117d738af526cbfbd5afa50b9a501acb0fb9ce (patch) | |
tree | 5fb3608be6186836f0379ecf570f34cedfbc84cc | |
parent | 984ad6124992c9831f57c2776aa2ed0a760149e6 (diff) |
Android: use a canonical data dir for Qt environment variablesv5.10.0-rc3v5.10.0
ApplicationInfo.dataDir holds "/data/user/0" (Blackberry PRIV running Android 6.0.1), which is in fact a soft link to "/data/data". This directory is used as a prefix for various Qt environment variables, including QML2_IMPORT_PATH, which in turn is used for resolving QML type URIs, looking up Qt Quick Controls 2 styles, and so on. The QML engine is not happy with "/data/data" and "/data/user/0" being wildly mixed for QML types in the same module. Use the canonical path instead to avoid such conflicts. Change-Id: I1fd45736728ee662942d7ef48c3fbc553981c59b Task-number: QTBUG-64868 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
-rw-r--r-- | src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java b/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java index 99c4ecca074..6e92e640281 100644 --- a/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java +++ b/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java @@ -569,7 +569,8 @@ public abstract class QtLoader { boolean bundlingQtLibs = false; if (m_contextInfo.metaData.containsKey("android.app.bundle_local_qt_libs") && m_contextInfo.metaData.getInt("android.app.bundle_local_qt_libs") == 1) { - localPrefix = m_context.getApplicationInfo().dataDir + "/"; + File dataDir = new File(m_context.getApplicationInfo().dataDir); + localPrefix = dataDir.getCanonicalPath() + "/"; pluginsPrefix = localPrefix + "qt-reserved-files/"; if (libsDir == null) |