Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Portuguese
  4. Erro ao executar programa em android virtual machine
QtWS25 Last Chance

Erro ao executar programa em android virtual machine

Scheduled Pinned Locked Moved Portuguese
14 Posts 3 Posters 6.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    micdoug
    wrote on last edited by
    #1

    Boa tarde,

    Pessoal, resolvi testar as novas funcionalidades de Qt com o android. Instalei os componentes necessários e configurei (QtSDK + Android SDK + Android NDK). Quando crio um projeto qml2 simples com um retângulo e um simples hellow world no meio da tela e mando executar na máquina virtual, só é exibido uma tela preta, quando clico no botão de voltar o aplicativo fecha normal. Ou seja, nada acontece, é como se eu não tivesse inserido nada na tela e o programa abrisse assim. Alguém está encontrando o mesmo problema?

    1 Reply Last reply
    0
    • T Offline
      T Offline
      TioRoy
      wrote on last edited by
      #2

      micdoug,

      Eu também iniciei alguns testes.

      Como você criou o projeto qml2? Tentei usar aqui o Wizard do Qml2, mas ele não deixou criar para o Android. Acabei criando um projeto Widget , e colocando um código para abrir o Qml.

      Aqui fiz uma MainWindow com 1 QLineEdit 1 QPushButton, e 1 QDeclarativeView (para ler o Qml). Misturei de propósito para testar.

      Testei num device real e funcionou normal.... mas no emulador aconteceu a mesmo coisa.... tela preta.

      Mas percebi que o QtCreator, após o deploy para o emulador... dá erro:

      "Starting remote process.Unable to start "

      Vou checar se não é algo com o Ministro

      1 Reply Last reply
      0
      • T Offline
        T Offline
        TioRoy
        wrote on last edited by
        #3

        Achei em outra mensagem no forum parecida (em inglês).

        Rodei o comando:

        "adb logcat"

        E acho que o problema é este:

        I/ActivityManager( 139): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=org.qtproject.example.TestAndroid/org.qtproject.qt5.android.bindings.QtActivity } from pid 312
        E/Qt ( 602): Can't create main activity
        E/Qt ( 602): java.io.FileNotFoundException: /data/data/org.qtproject.example.TestAndroid/lib/lib--Managed_by_Qt_Creator--imports_Qt_labs_gestures_libqmlgesturesplugin.so (No such file or directory)
        E/Qt ( 602): at org.apache.harmony.luni.platform.OSFileSystem.open(Native Method)
        E/Qt ( 602): at dalvik.system.BlockGuard$WrappedFileSystem.open(BlockGuard.java:232)
        E/Qt ( 602): at java.io.FileInputStream.<init>(FileInputStream.java:80)
        E/Qt ( 602): at java.io.FileInputStream.<init>(FileInputStream.java:132)
        E/Qt ( 602): at org.qtproject.qt5.android.bindings.QtActivity.createBundledBinary(QtActivity.java:366)
        E/Qt ( 602): at org.qtproject.qt5.android.bindings.QtActivity.extractBundledPluginsAndImports(QtActivity.java:386)
        E/Qt ( 602): at org.qtproject.qt5.android.bindings.QtActivity.startApp(QtActivity.java:436)
        E/Qt ( 602): at org.qtproject.qt5.android.bindings.QtActivity.onCreate(QtActivity.java:688)
        E/Qt ( 602): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
        E/Qt ( 602): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
        E/Qt ( 602): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
        E/Qt ( 602): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
        E/Qt ( 602): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
        E/Qt ( 602): at android.os.Handler.dispatchMessage(Handler.java:99)
        E/Qt ( 602): at android.os.Looper.loop(Looper.java:123)
        E/Qt ( 602): at android.app.ActivityThread.main(ActivityThread.java:3683)
        E/Qt ( 602): at java.lang.reflect.Method.invokeNative(Native Method)
        E/Qt ( 602): at java.lang.reflect.Method.invoke(Method.java:507)
        E/Qt ( 602): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
        E/Qt ( 602): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
        E/Qt ( 602): at dalvik.system.NativeStart.main(Native Method)

        Mas achei muito estranho. Abri o apk (unzip), e o arquivo está lá, mas o diretório da lib era /lib/armeabi-v7a. E o emulador (API 10) estava configurado para armeabi.

        Então fiz o seguinte: abri o AVD Manager, apaguei o device que o QtCreator criou (API 10/armeabi) e criei pelo AVD (com API 17/armeabi-v7a).

        O erro não apareceu mais. Mas aqui em casa estou com problema na placa de vídeo. Como o Qt usa OpenGL, ficou dando erro direto:

        E/libEGL ( 1199): called unimplemented OpenGL ES API

        Mas acho que assim deve resolver.

        1 Reply Last reply
        0
        • M Offline
          M Offline
          micdoug
          wrote on last edited by
          #4

          Eu criei o projeto pelo wizard qml2, aqui no meu qtcreator aparece a opção para criar para android. Acontece o mesmo erro no emulador, a tela fica preta.
          Testei agora mesmo em um tablet e funcionou normalmente, o que é muito estranho.
          Reparei nos erros que você citou que aparecem no log do android, aqui também acontece. Apaguei a máquina que o qtcreator criou e criei uma nova também, aí o erro de "unable to start" sumiu.
          Analisando o logcat eu também obtenho diversos erros de "E/libEGL ( 1231): called unimplemented OpenGL ES API", eu estou usando um notebook com chip gráfico integrado do processador core i5 primeira geração, que acredito que suporte operações opengl. Estou usando no debian. Mais tarde vou testar na máquina do meu irmão que tem uma placa nvidia e está com windows 7.
          Estou começando a pensar que o próprio emulador não suporta estas operações opengl, será que pode ser isto? Assim que testar eu posto aqui.
          Vlw.

          1 Reply Last reply
          0
          • T Offline
            T Offline
            TioRoy
            wrote on last edited by
            #5

            No AVD manager.... tem uma opção para usar "Host GPU" quando você cria a máquina virtual. Você chegou a criar com a opção marcada?

            !http://s17.postimg.org/o9vlwz17z/screenshot_2.png(AVD)!

            1 Reply Last reply
            0
            • F Offline
              F Offline
              flaviomarcio
              wrote on last edited by
              #6

              Olá, ate que enfiem encontrei brasileiros aqui para conversar sobre o android e Qt.

              Flavio Portela

              1 Reply Last reply
              0
              • F Offline
                F Offline
                flaviomarcio
                wrote on last edited by
                #7

                Tenho boas experiências com o necessitas mas com Qt5.1, nossa, tenho a impressão que ainda vai demorar funcionar bem, acredito que apenas na 5.2 vamos poder realmente utilizá-lo. a integração com a digia e o bogdan tá demorando a engrenar, e ainda mais que desde rc2 eles removeram a compatibilidade com armv5 deixando apenas armv7, o que é péssimo para mim e também para que quer fazer aplicativos que funcionam em todos os aparelhos, ouvi dizer que voltará, mas não sei.

                Flavio Portela

                1 Reply Last reply
                0
                • F Offline
                  F Offline
                  flaviomarcio
                  wrote on last edited by
                  #8

                  Vamos falar do QML se utilizar apenas o projeto em QML ele funciona muito bem os demos exemplos dele são ótimos e funciona bem no android eu teste e garanto agora. executar QML do QMainWindows ele gera falhas, e no meu caso ele sai da aplicação enquanto que no windows ele funciona, bem como dito pelo TioRoy.

                  Flavio Portela

                  1 Reply Last reply
                  0
                  • F Offline
                    F Offline
                    flaviomarcio
                    wrote on last edited by
                    #9

                    Já trabalhar com múltiplos forms QWidget tem problemas com opções maximize e full screen o que deixa o programa muito ruim, e não adianta tentar setar a geometria, tambem, parece não funcionar. Aplicações minhas que rodam bem com a versão com necessitas não funcionaram bem com Qt5.1 os layouts não funcionaram e ficou tudo bagunçado.

                    Flavio Portela

                    1 Reply Last reply
                    0
                    • F Offline
                      F Offline
                      flaviomarcio
                      wrote on last edited by
                      #10

                      Ate postei para tentar ter ajuda no fórum do necessitas no link, mas não tive ajuda sufuciente:
                      https://groups.google.com/forum/?fromgroups=#!topic/android-qt/GTZsO5tbTso

                      lá tem exatamente o problema enfrentei, também incluir os fontes, assim podem comparar.

                      Flavio Portela

                      1 Reply Last reply
                      0
                      • F Offline
                        F Offline
                        flaviomarcio
                        wrote on last edited by
                        #11

                        Eu também fiz alguns relatos em bugreport logo depois me informação que me inclusão era repetida, o que significa que o bug existe há um tempão e dá dando trabalho para resolver, motivo pelo qual o mesmo foi lançado como preview para versões futuras.

                        O erro se trata de problema com opengl no android.

                        O link para bugreport é :
                        https://bugreports.qt-project.org/browse/QTBUG-32490

                        Se conseguirem de qualquer forma corrigir me avisem eu agradeço muito grato.

                        Flavio Portela

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          micdoug
                          wrote on last edited by
                          #12

                          Após marcar aquela opção na criação da avd "use host gpu", consegui executar programas que utilizam somente widgets comuns, e mesmo assim eles se comportaram de maneira anormal com relação ao layout. Eu setei a QSizePolicy da janela principal para maximum nos dois sentidos, e algumas vezes ao abrir o aplicativo ele expandia e ocupava toda a tela, outras não, ele ocupava o tamanho requerido para boa aparencia dos elementos e se posicionava no canto superior esquerdo da tela.
                          Ao utilizar qualquer elemento qml, a tela do emulador continua fica preta.

                          1 Reply Last reply
                          0
                          • F Offline
                            F Offline
                            flaviomarcio
                            wrote on last edited by
                            #13

                            Você esta utilizando Qt5.1.1?

                            Pois eu só consigo esse resultado no QMainWindows e se este for o MainForm, pois quando chamo outro form ele não funciona bem.

                            Flavio Portela

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              micdoug
                              wrote on last edited by
                              #14

                              Isso mesmo utilizei o Qt 5.1.1, e o resultado obtido foi com um qmainwindow como widget principal. Vou fazer mais testes amanha com um emulador e um dispositivo real usando widgets e qml. Com qml nao tenho muitos testes a fazer pois iria comecar meus estudos com o mesmo agora, nao sei fazer muita coisa ainda. Alguem sabe por exemplo, como criar um elemento principal que se expanda ocupando toda a tela?

                              1 Reply Last reply
                              0

                              • Login

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • Users
                              • Groups
                              • Search
                              • Get Qt Extensions
                              • Unsolved