Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. [SOLVED] Can't deploy & run application on Android device with API level 10
Forum Updated to NodeBB v4.3 + New Features

[SOLVED] Can't deploy & run application on Android device with API level 10

Scheduled Pinned Locked Moved Mobile and Embedded
8 Posts 3 Posters 10.9k Views 1 Watching
  • 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.
  • E Offline
    E Offline
    e79ene
    wrote on last edited by
    #1

    Hi.
    I want to build an application package that can be installed and run on any android version supported by Qt. AFAIK it is 2.3.3 (API 10) and higher for Qt 5.

    What I do:

    Create new Qt Gui Application in Qt Creator. Select kit: Android for arm (GCC 4.8, Qt 5.1.1)

    Add a couple of buttons to MainWindow form.

    Select "android-10" as Android target SDK in Projects / Run / Package configurations window.

    Press "Build Project" button. - Success.

    Press "Run" button. Got an error:

    @
    ...
    12:02:08: Package deploy: Running command 'C:/opt/ant/bin/ant.bat clean debug'.
    ...
    [dex] Converting compiled files and external libraries into C:\jan\a2\android\bin\classes.dex...
    [dx]
    [dx] UNEXPECTED TOP-LEVEL EXCEPTION:
    [dx] java.nio.BufferOverflowException
    [dx] at java.nio.Buffer.nextPutIndex(Buffer.java:519)
    [dx] at java.nio.HeapByteBuffer.putShort(HeapByteBuffer.java:315)
    [dx] at com.android.dex.Dex$Section.writeShort(Dex.java:818)
    [dx] at com.android.dex.Dex$Section.writeTypeList(Dex.java:870)
    [dx] at com.android.dx.merge.DexMerger$3.write(DexMerger.java:437)
    [dx] at com.android.dx.merge.DexMerger$3.write(DexMerger.java:423)
    [dx] at com.android.dx.merge.DexMerger$IdMerger.mergeUnsorted(DexMerger.java:317)
    [dx] at com.android.dx.merge.DexMerger.mergeTypeLists(DexMerger.java:423)
    [dx] at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:163)
    [dx] at com.android.dx.merge.DexMerger.merge(DexMerger.java:187)
    [dx] at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
    [dx] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
    [dx] at com.android.dx.command.dexer.Main.run(Main.java:230)
    [dx] at com.android.dx.command.dexer.Main.main(Main.java:199)
    [dx] at com.android.dx.command.Main.main(Main.java:103)

    BUILD FAILED
    ...
    @

    All this works fine if I select android-19 target SDK. Application deploys, runs, and works properly on emulator with API level 19.

    I also used adb tool to manually deploy the .apk (build for android-19) to the emulator with API level 10.
    Application was installed successfully. But when I started it I got black empty screen.

    I installed the same .apk to my HTC Desire (with CyanogenMod firmware - Android 2.3.7). When I run it I got an error message: "Your application encountered a fatal error and cannot continue."

    What I use:

    Android SDK with Android 2.3.3 (API 10) & Android 4.4 (API 19) SDK Platform installed

    Android NDK r9b

    Android for arm (GCC 4.8, Qt 5.1.1) Kit

    Qt Creator 2.8.1

    Windows 8.1

    Thanks.

    1 Reply Last reply
    0
    • E Offline
      E Offline
      Esperantisto
      wrote on last edited by
      #2

      The "Android target SDK" is simply the SDK that is used for the build. You can use the most recent SDK for that. To set the minimum Android version, click the "Create AndroidManifest.xml" button and edit that (it defaults to 9).

      1 Reply Last reply
      0
      • E Offline
        E Offline
        Esperantisto
        wrote on last edited by
        #3

        BTW, when I encountered this issue, I filed this "bug":https://bugreports.qt-project.org/browse/QTBUG-35274.

        1 Reply Last reply
        0
        • E Offline
          E Offline
          e79ene
          wrote on last edited by
          #4

          I don't mind building with the latest SDK. I just want to be able to deploy & run apps on API 10 devices such as

          emulator with API level 10

          my HTC Desire smartphone

          How can I make Qt Creator to deploy my application to these devices?
          How can I make my application to work on these devices?

          1 Reply Last reply
          0
          • GianlucaG Offline
            GianlucaG Offline
            Gianluca
            wrote on last edited by
            #5

            You already got the answer.
            Read three post above:

            “Create AndroidManifest.xml” button and edit that (it defaults to 9).

            1 Reply Last reply
            0
            • E Offline
              E Offline
              e79ene
              wrote on last edited by
              #6

              Sorry, I didn't get it.

              Where's that “Create AndroidManifest.xml” button? I can't find it.

              I tried to open android/AndroidManifest.xml file with Plain Text Editor and insert the following line:
              <uses-sdk android:minSdkVersion="10" />

              Is it the same thing?

              I set “android-19” as Android target SDK in Projects / Run / Package configurations window.

              When I press Run button it ignores running API 10 Emulator and tries to start one with API 19. Than reports an error: Cannot deploy: no devices or emulators found for your package.

              How can I make Qt Creator to deploy my app to API 10 emulator or my smartphone?

              1 Reply Last reply
              0
              • GianlucaG Offline
                GianlucaG Offline
                Gianluca
                wrote on last edited by
                #7

                "Create AndroidManifest.xml" is in the same screen where you set the Android target SDK.
                Just a bit below.

                But if you cannot find it, then I suspect that it has been added to the Qt 5.2 beta.
                If so, just wait one more day... tomorrow will be release the Qt 5.2 release.

                1 Reply Last reply
                0
                • E Offline
                  E Offline
                  e79ene
                  wrote on last edited by
                  #8

                  Yeah!
                  It works with Qt 5.2 !

                  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