Dopo aver importato QtQuick.Controls 1.2
e utilizzando il componente StackedWidget
, ora ricevo un errore durante la distribuzione su Android, come illustrato di seguito. Il file mancante AnimationDrawable.qml
non è mancante dalla directory di build di Android, quindi non capisco perché non è pacchettizzato con l'APK.Distribuzione su Android risulta in un file non trovato dopo l'aggiunta di QtQuick Controls
Si distribuisce correttamente quando rimuovo lo QtQuick.Controls
importato e sostituisco lo StackView
con qualcos'altro.
La mia versione Qt è 5.4.2.
Ho provato a distribuirlo con Qt 5.3.2 e funziona come previsto.
E/Qt (12767): Can't create main activity
E/Qt (12767): java.io.FileNotFoundException: --Added-by-androiddeployqt--/qml/QtQuick/Controls/Styles/Android/drawables/AnimationDrawable.qml
E/Qt (12767): \t at android.content.res.AssetManager.openAsset(Native Method)
E/Qt (12767): \t at android.content.res.AssetManager.open(AssetManager.java:313)
E/Qt (12767): \t at android.content.res.AssetManager.open(AssetManager.java:287)
E/Qt (12767): \t at org.qtproject.qt5.android.bindings.QtActivity.copyAsset(QtActivity.java:394)
E/Qt (12767): \t at org.qtproject.qt5.android.bindings.QtActivity.extractBundledPluginsAndImports(QtActivity.java:503)
E/Qt (12767): \t at org.qtproject.qt5.android.bindings.QtActivity.startApp(QtActivity.java:582)
E/Qt (12767): \t at org.qtproject.qt5.android.bindings.QtActivity.onCreate(QtActivity.java:895)
E/Qt (12767): \t at android.app.Activity.performCreate(Activity.java:5990)
E/Qt (12767): \t at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
E/Qt (12767): \t at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
E/Qt (12767): \t at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
E/Qt (12767): \t at android.app.ActivityThread.access$800(ActivityThread.java:151)
E/Qt (12767): \t at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
E/Qt (12767): \t at android.os.Handler.dispatchMessage(Handler.java:102)
E/Qt (12767): \t at android.os.Looper.loop(Looper.java:135)
E/Qt (12767): \t at android.app.ActivityThread.main(ActivityThread.java:5254)
E/Qt (12767): \t at java.lang.reflect.Method.invoke(Native Method)
E/Qt (12767): \t at java.lang.reflect.Method.invoke(Method.java:372)
E/Qt (12767): \t at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
E/Qt (12767): \t at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Se sei su Windows, ho indovinato: il percorso diventa troppo lungo (> 256 caratteri è un vero problema per Windows). Ciò accade solo quando si importa QtQuick perché verrà distribuita la cartella Stili. Prova ad installare Qt come il più alto livello possibile sul tuo sistema per rendere i percorsi più brevi. Questo dovrebbe farlo! – qCring
@qCring: Qt è installato in C:/Qt/*, ma il progetto è un po 'in un percorso profondo. Potrebbe causare lo stesso comportamento? E ho appena verificato che funzioni su Qt 5.3.2 – Phat
Sì, immagino che lo stesso valga per i percorsi di destinazione. Ci proverò! – qCring