Errors building Qt 5.4 Alpha for Android under Linux ( QtAccessibilityDelegate.java : cannot find symbol ) ?



  • I have been using Qt 5.3.2. I want to see if Qt 5.4's improved improved scaling of widget styles based on DPI will benefit my Android / iOS widget app.

    When I build Qt for Android I get errors related to QtAccessibilityDelegate.java and cannot find symbol.

    Configure:
    @
    export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64

    export ANDROID_SDK_ROOT=/home/edward3/android/sdk
    export ANDROID_API_VERSION=android-10
    export ANDROID_BUILD_TOOLS_REVISION=17.0.0

    export ANDROID_NDK_ROOT=/home/edward3/android/android-ndk-r10b

    ./configure -xplatform android-g++ -nomake tests -nomake examples
    -android-ndk ${ANDROID_NDK_ROOT}
    -android-sdk ${ANDROID_SDK_ROOT}
    -android-ndk-host linux-x86_64
    -android-toolchain-version 4.8
    -android-ndk-platform android-10
    -skip qttranslations -skip qtwebkit -skip qtserialport -skip qtwebkit-examples -no-warnings-are-errors
    @

    I get the following errors when I make:
    @
    src/org/qtproject/qt5/android/accessibility/QtAccessibilityDelegate.java:359: cannot find symbol
    symbol : variable TYPE_VIEW_SCROLLED
    location: class android.view.accessibility.AccessibilityEvent
    sendEventForVirtualViewId(virtualViewId, AccessibilityEvent.TYPE_VIEW_SCROLLED);
    ^
    src/org/qtproject/qt5/android/accessibility/QtAccessibilityDelegate.java:361: cannot find symbol
    symbol : variable AccessibilityNodeInfo
    location: class org.qtproject.qt5.android.accessibility.QtAccessibilityDelegate
    case AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD:
    ^
    src/org/qtproject/qt5/android/accessibility/QtAccessibilityDelegate.java:364: cannot find symbol
    symbol : variable TYPE_VIEW_SCROLLED
    location: class android.view.accessibility.AccessibilityEvent
    sendEventForVirtualViewId(virtualViewId, AccessibilityEvent.TYPE_VIEW_SCROLLED);
    ^
    35 errors
    make[6]: *** [.classes.bundled] Error 1
    make[6]: Leaving directory /home/edward3/projects/qt5.4-alpha/qt-everywhere-opensource-src-5.4.0-alpha/qtbase/src/android/accessibility/jar' make[5]: *** [sub-bundledjar-pro-make_first] Error 2 make[5]: Leaving directory/home/edward3/projects/qt5.4-alpha/qt-everywhere-opensource-src-5.4.0-alpha/qtbase/src/android/accessibility/jar'
    make[4]: *** [sub-jar-make_first] Error 2
    make[4]: Leaving directory /home/edward3/projects/qt5.4-alpha/qt-everywhere-opensource-src-5.4.0-alpha/qtbase/src/android/accessibility' make[3]: *** [sub-accessibility-make_first] Error 2 make[3]: Leaving directory/home/edward3/projects/qt5.4-alpha/qt-everywhere-opensource-src-5.4.0-alpha/qtbase/src/android'
    make[2]: *** [sub--home-edward3-projects-qt5-4-alpha-qt-everywhere-opensource-src-5-4-0-alpha-qtbase-src-android-make_first] Error 2
    make[2]: Leaving directory /home/edward3/projects/qt5.4-alpha/qt-everywhere-opensource-src-5.4.0-alpha/qtbase/src' make[1]: *** [sub-src-make_first] Error 2 make[1]: Leaving directory/home/edward3/projects/qt5.4-alpha/qt-everywhere-opensource-src-5.4.0-alpha/qtbase'
    make: *** [module-qtbase-make_first] Error 2
    @

    Thanks for any advice,

    -Ed


  • Moderators

    Hi,

    According to "this":http://developer.android.com/reference/android/view/View.AccessibilityDelegate.html, AccessibilityDelegate was introduced in Android SDK API 14 so try using SDK API 14 or greater.



  • Thank you Gene! I will re-configure to use API 15.

    I am building on a 64-bit Ubuntu 14.04 LTS host. I started over building Qt 5.4.0 for Linux 64-bit. I figured if I failed at building Qt Linux I should not even try building Qt Android. After installing many additional dependencies the build finally succeeded.

    I am getting many missing header files when I configure to build Qt 5.4.0 for Android. I expect I need to install all the 32-bit package equivalents of the 64-bit packages I had to install to build Qt 5.4.0 Linux for 64-bit.

    Would it be easier to build Qt Android under a 32-bit Linux host rather than a 64-bit Ubuntu 14.04LTS ?

    I have already run into problems simply trying to build 32-bit and 64-bit Qt apps under the same 64-bit Ubuntu. The mesa OpenGL 32-bit and 64-bit packages do not like to install side-by-side and the last one installed wins. I am concerned there may be other 32-bit/64-bit devel packages that may not play well together.

    Thank you for your help,

    -Ed

    @
    #!/bin/bash

    See: http://qt-project.org/wiki/Qt5ForAndroidBuilding

    /usr/lib/jvm/java-6-openjdk-amd64

    /home/edward3/android/sdk

    /home/edward3/android/android-ndk-r10b

    export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64

    export ANDROID_SDK_ROOT=/home/edward3/android/sdk

    Qt uses AccessibilityDelegate was introduced in Android SDK API 14

    so try using SDK API 14 or greater.

    export ANDROID_API_VERSION=android-15

    export ANDROID_BUILD_TOOLS_REVISION=17.0.0

    export ANDROID_NDK_ROOT=/home/edward3/android/android-ndk-r10b

    ./configure -v -xplatform android-g++ -nomake tests -nomake examples
    -android-ndk ${ANDROID_NDK_ROOT}
    -android-sdk ${ANDROID_SDK_ROOT}
    -android-ndk-host linux-x86_64
    -android-toolchain-version 4.8
    -android-ndk-platform android-10
    -skip qttranslations -skip qtwebkit -skip qtserialport -skip qtwebkit-examples -no-warnings-are-errors

    echo "Configure Done"
    @


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.