[Solved] Deploying Tizen Application on Emulator



  • Hi,
    I have successfully build Qt for Tizen using "tizenbuildtools":http://qt-project.org/wiki/Build-Qt-for-Tizen.
    I set up the Qt creator 2.8.1 with Tizen build tools to deploy application on tizen emulator. I have created one sample Qt Gui application and was able to build it successfully using Qt Creator. But when i was running the application on Qt Creator its throwing error,
    @
    Starting /home/user/TizenApps/build-TizWids-Tizen_GCC_x86_32bit_in_usr_bin-Debug/TizWids.exe...
    Failed to load platform plugin "xcb". Available platforms are:

    The program has unexpectedly finished.
    @

    i have tried command ldd TizWiz.exe and it shows every library perfect. none of them were missing.

    I found some blog post saying that to check the presense of libqxcb.so in ../plugins/platforms/ directory and its present inside that. Did anyone face the same issue with Tizen build? can anyone help?



  • You tried to run emulator application from QtCreator? Currently it is not supported.
    QtCreator helps with deploying application to emulator or device but not with running. If you correctly prepared you application project then you should be able to run it from homescreen icon.

    Se pro file in:
    https://qt.gitorious.org/qt/qtquickcontrols-tizen/source/b0bfe23ea21b1272fa325d1c6f7311ef0aa86628:examples/helloworld/helloworld.pro

    as an example. load(tizen_app) has some magic. Could you please also read http://qt-project.org/wiki/Creating-Hello-World-Application it should explain more.



  • Thanks for the reply,
    First i run the Emulator and made sure that its booted up correctly
    Then i run the Qt Creator, Opened helloworld example, selected the kit Tizen.
    I edited the manifest.xml file and selected new Application ID.
    Then build the application, the build was successful.
    Then i clicked Build --> Deploy project "helloworld"

    @

    09:53:18: Starting: "/usr/bin/make" install
    printf "PLATFORM_VER:Tizen 2.2\nARCHITECTURE:i386\nTOOLCHAIN:GCC-4.5\nTYPE:app\n" > /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/build_data
    printf "[Paths]\nPlugins=../data/plugins\nQml2Imports=../data/qml\n" > /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/qt.conf
    /home/emb-user/tizen-sdk/tools/i386-linux-gnueabi-gcc-4.5/bin/i386-linux-gnueabi-g++ --sysroot=/home/emb-user/dev/src/tizenbuildtools/emulator/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.0 -pie -rdynamic -Wl,--enable-new-dtags -Wl,-rpath,/opt/usr/apps/RDk1NIYcDf/lib -o QtHelloWorld.exe main.o qrc_helloworld-default.o -L/home/emb-user/dev/src/tizenbuildtools/emulator/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.0/lib
    -L/home/emb-user/dev/src/tizenbuildtools/emulator/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.0/usr/lib -lQt5DBus -L/usr/lib -lQt5Widgets -lQt5Quick -lQt5Qml -lQt5Network -lQt5Gui -lQt5Core -lGLESv2 -lpthread
    { test -n "" && DESTDIR="" || DESTDIR=.; } && test $(gdb --version | sed -e 's,[^0-9][^0-9]([0-9]).([0-9]).,\1\2,;q') -gt 72 && gdb --nx --batch --quiet -ex 'set confirm off' -ex "save gdb-index $DESTDIR" -ex quit 'QtHelloWorld.exe' && test -f QtHelloWorld.exe.gdb-index && /home/emb-user/tizen-sdk/tools/i386-linux-gnueabi-gcc-4.5/bin/i386-linux-gnueabi-objcopy --add-section '.gdb_index=QtHelloWorld.exe.gdb-index' --set-section-flags '.gdb_index=readonly' 'QtHelloWorld.exe' 'QtHelloWorld.exe' && rm -f QtHelloWorld.exe.gdb-index || true
    install -m 644 -p /home/emb-user/TizenApps/helloworld/tizen/manifest.xml /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/ApplicationPackage/RDk1NIYcDf/
    printf "PLATFORM_VER:Tizen 2.2\nARCHITECTURE:i386\nTOOLCHAIN:GCC-4.5\nTYPE:app\n" > /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/build_data
    install -m 644 -p /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/build_data /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/ApplicationPackage/RDk1NIYcDf/CommandLineBuild/
    printf "[Paths]\nPlugins=../data/plugins\nQml2Imports=../data/qml\n" > /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/qt.conf
    install -m 644 -p /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/qt.conf /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/ApplicationPackage/RDk1NIYcDf/bin/
    cp -f -R /home/emb-user/dev/src/tizenbuildtools/emulator/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.0/usr/lib/qt5/qml /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/ApplicationPackage/RDk1NIYcDf/data/
    cp -f -R /home/emb-user/dev/src/tizenbuildtools/emulator/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.0/usr/lib/qt5/plugins /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/ApplicationPackage/RDk1NIYcDf/data/
    install -m 755 -p /home/emb-user/dev/src/tizenbuildtools/emulator/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.0/usr/lib/libQt5Core.so.5 /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/ApplicationPackage/RDk1NIYcDf/lib/
    install -m 755 -p /home/emb-user/dev/src/tizenbuildtools/emulator/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.0/usr/lib/libQt5DBus.so.5 /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/ApplicationPackage/RDk1NIYcDf/lib/
    install -m 755 -p /home/emb-user/dev/src/tizenbuildtools/emulator/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.0/usr/lib/libQt5Qml.so.5 /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/ApplicationPackage/RDk1NIYcDf/lib/
    install -m 755 -p /home/emb-user/dev/src/tizenbuildtools/emulator/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.0/usr/lib/libQt5Quick.so.5 /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/ApplicationPackage/RDk1NIYcDf/lib/
    install -m 755 -p /home/emb-user/dev/src/tizenbuildtools/emulator/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.0/usr/lib/libQt5Widgets.so.5 /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/ApplicationPackage/RDk1NIYcDf/lib/
    install -m 755 -p /home/emb-user/dev/src/tizenbuildtools/emulator/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.0/usr/lib/libQt5Gui.so.5 /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/ApplicationPackage/RDk1NIYcDf/lib/
    install -m 755 -p /home/emb-user/dev/src/tizenbuildtools/emulator/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.0/usr/lib/libQt5Network.so.5 /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/ApplicationPackage/RDk1NIYcDf/lib/
    cp -f -R /home/emb-user/TizenApps/helloworld/shared/res /home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/ApplicationPackage/RDk1NIYcDf/shared/
    install -m 755 -p "QtHelloWorld.exe" "/home/emb-user/TizenApps/build-helloworld-Tizen_GCC_x86_32bit_in_usr_bin-Debug/ApplicationPackage/RDk1NIYcDf/CommandLineBuild/QtHelloWorld.exe"
    09:53:19: The process "/usr/bin/make" exited normally.
    09:53:19: Elapsed time: 00:02.
    @

    Then i checked the Tizen emulator and found that Hello world application is not installed on it.

    Is there any other step which i am missing in this?



  • As I see you only compiled application, you need to deploy it. Just click RMB on project root and choose deploy.



  • Even if i do that it does the same..... What its suppose to show when its deploying to the Emulator?



  • This is my deploy configuration.

    http://pbrd.co/16zz1wh

    and end of deploy log:
    adding: data/plugins/platforminputcontexts/libtizenscimplatforminputcontextplugin.so (in=36736) (out=16015) (deflated 56%)
    adding: data/plugins/qmltooling/ (in=0) (out=0) (stored 0%)
    adding: data/plugins/qmltooling/libqmldbg_qtquick2.so (in=69652) (out=30432) (deflated 56%)
    adding: data/plugins/qmltooling/libqmldbg_tcp.so (in=21732) (out=10481) (deflated 52%)
    adding: info/ (in=0) (out=0) (stored 0%)
    adding: info/manifest.xml (in=834) (out=423) (deflated 49%)
    adding: lib/ (in=0) (out=0) (stored 0%)
    adding: lib/libQt5DBus.so.5 (in=328328) (out=155102) (deflated 53%)
    adding: lib/libQt5Quick.so.5 (in=2368484) (out=1069843) (deflated 55%)
    adding: lib/libQt5Core.so.5 (in=3475540) (out=1809676) (deflated 48%)
    adding: lib/libQt5Widgets.so.5 (in=3952320) (out=2196337) (deflated 44%)
    adding: lib/libQt5Gui.so.5 (in=2651840) (out=1395330) (deflated 47%)
    adding: lib/libQt5Qml.so.5 (in=2817540) (out=1369114) (deflated 51%)
    adding: lib/libQt5Network.so.5 (in=835504) (out=403250) (deflated 52%)
    adding: res/ (in=0) (out=0) (stored 0%)
    adding: setting/ (in=0) (out=0) (stored 0%)
    adding: shared/ (in=0) (out=0) (stored 0%)
    adding: shared/res/ (in=0) (out=0) (stored 0%) adding: shared/res/screen-density-xhigh/ (in=0) (out=0) (stored 0%)
    adding: shared/res/screen-density-xhigh/mainmenu.png (in=30810) (out=30792) (deflated 0%)
    adding: shared/trusted/ (in=0) (out=0) (stored 0%)
    adding: shared/data/ (in=0) (out=0) (stored 0%)
    adding: signature1.xml (in=314370) (out=51857) (deflated 84%)
    total bytes=33143271, compressed=15888901 -> 52% savings
    Packaging completed... OK
    PLATFORM_NAME :
    PLATFORM_VER : Tizen 2.2
    ARCHITECTURE : armel
    TOOLCHAIN : GCC-4.5
    PROJECT_TYPE : app
    PROJECT_NAME : QtHelloWorld
    APPLICATION_ID : 8Gan0fwnPB
    Info: Target already exists. [tizen-device-2.2.native_gcc45.armel.cpp.app]
    15:08:20: Package Created.
    15:08:20: Installing package.
    path is /opt/usr/apps/tmp/8Gan0fwnPB-1.0.0-arm.tpk
    __return_cb req_id[1] pkg_type[tpk] pkgid[8Gan0fwnPB] key[start] val[install]
    __return_cb req_id[1] pkg_type[tpk] pkgid[8Gan0fwnPB] key[install_percent] val[0]
    __return_cb req_id[1] pkg_type[tpk] pkgid[8Gan0fwnPB] key[install_percent] val[60]
    __return_cb req_id[1] pkg_type[tpk] pkgid[8Gan0fwnPB] key[install_percent] val[100]
    __return_cb req_id[1] pkg_type[tpk] pkgid[8Gan0fwnPB] key[end] val[ok]
    spend time for pkgcmd is [16250]ms
    15:08:39: Package installed.
    15:08:39: Elapsed time: 00:23.

    There is bug that not always device is recognized in QtCreator and this causes that not all 3 deploy steps are available(see pasteboard image - it has 3 steps.). Workaround is to add another kit to build configuration, remove Tizen Device kit from project build configuration and add it again. Project and device configurations should refresh.



  • Thanks a lot.. finally it works..
    I was missing the Package and Deploy steps. That causes the issue...
    May be u can update the Wiki with this Package create and install steps with reference to the image which u have shared here... It will be helpful for others too..

    Issue: I am not able to Run app on the Emulator.. If i click on the QtHelloWorld launcher icon on the home screen nothing is happening...



  • Hi olszak,
    Can u please take a look at these screen shots. because i didn't find anything unusual... I am able to create package(.tpk) correctly and its getting deployed on the Emulator.
    Even i tried installing the same *.tpk files on an Tizen emulator in my Windows 7 PC... I was able to install it using SDB.. But same thing happens, i am not able to launch the apps.

    "http://pbrd.co/17T2qC4":http://pbrd.co/17T2qC4

    "http://pbrd.co/17T2HEU":http://pbrd.co/17T2HEU

    "http://pbrd.co/17T2B0f":http://pbrd.co/17T2B0f

    I got this log when i am trying to launch Hello World App
    @
    10-28 19:48:40.213 : ERROR / Tizen::Base::Collection ( 2188 : 2188 ) : virtual result Tizen::Base::Collection::ArrayList::Remove(const Tizen::Base::Object&)(393) > [E_OBJ_NOT_FOUND] Propagating.
    10-28 19:48:40.213 : ERROR / Tizen::Base::Collection ( 2188 : 2188 ) : virtual result Tizen::Base::Collection::ArrayList::IndexOf(const Tizen::Base::Object&, int, int, int&) const(290) > [E_OBJ_NOT_FOUND] The arraylist is empty.
    10-28 19:48:40.213 : ERROR / Tizen::Base::Collection ( 2188 : 2188 ) : virtual result Tizen::Base::Collection::ArrayList::Remove(const Tizen::Base::Object&)(393) > [E_OBJ_NOT_FOUND] Propagating.
    10-28 19:48:40.273 : ERROR / Tizen::App ( 2188 : 2188 ) : virtual void Tizen::App::_ContextManager::OnApplicationTerminated(const Tizen::App::AppId&, int)(477) > Not registered pid(3649)
    @



  • Thanks a lot Olszak...
    Now i am able to deploy and run application on Tizen Emulator...


Log in to reply
 

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