Forums

OverviewV-Play 2 Support (Qt 5) › Build issue: Package deploy: Failed to pull "/system/bin/sh: readlink: not found

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #11809

    Marcin

    Hi all,
    after many issues with Qt Enterprise and V-play(missing packages) I tried V-Play SDK isolated package.
    All was working until I wanted to deploy something to physical device(Samsung Galaxy S3, 4.1.2 Android).

    It was working fine recently with Qt Enterprise and VPlay as a plugin, but with VPlay SDK getting(deploy stage):

     

    20:39:35: Packaging error: Command "/home/marcin/lib/android-sdk-linux/platform-tools/adb -s 4df79020489411af pull /system/bin/sh: readlink: not found {path}/build-kill_candy-Android_for_armeabi_v7a_GCC_4_9_Qt_5_5_1-Debug/app_process" failed.Exit code: 1
    20:39:35: Package deploy: Failed to pull "/system/bin/sh: readlink: not found" to "/{path}/build-kill_candy-Android_for_armeabi_v7a_GCC_4_9_Qt_5_5_1-Debug/app_process".

    After that tried Qt installation and .. the same.
    I come across this issue: https://forum.qt.io/topic/58066/solved-android-debug-problem

    But the bug there should be fixed in QtCreator 3.5, I use 3.5.1 in both scenarios.
    I updated Android SDK packages, all I could in Qt Setup and VPLaySDK setup, unforutnately no luck.

    Currently I am not able to deploy anything to my device.
    No idea what to do next.

    What is your setup which just works? Which Android SDK maybe, which QtCreator, which VPlay.net (I have 2.6.1)?
    Unfortunately, recently I spent more and more time to just get VPlay.net working rather that to work on things I should.
    Any ideas what to do to be able to deploy to my Samsung?

    PS. Some other weird errors/warning I didn’t get before(maybe related and can help):

    Warning: QML import could not be resolved in any of the import paths: QtQuick.Extras.Private
    Warning: QML import could not be resolved in any of the import paths: QtQuick.Extras.Private.CppUtils
    Warning: QML import could not be resolved in any of the import paths: QtQuick.Extras.Private.CppUtils

     

    Copying 485 dependencies from Qt into package.
    Warning: QML import could not be resolved in any of the import paths: HelperWidgets

     

    Warnings while parsing QML type information of /home/marcin/V-PlaySDK/5.5/android_armv7/qml/QtNfc:
    /home/marcin/V-PlaySDK/5.5/android_armv7/qml/QtNfc/plugins.qmltypes:1:24: Reading only version 1.1 parts.
    /home/marcin/V-PlaySDK/5.5/android_armv7/qml/QtNfc/plugins.qmltypes:10:5: Expected only Component and ModuleApi object definitions.
    
    Warnings while parsing QML type information of /home/marcin/V-PlaySDK/5.5/android_armv7/qml/QtLocation:
    /home/marcin/V-PlaySDK/5.5/android_armv7/qml/QtLocation/plugins.qmltypes:1:24: Reading only version 1.1 parts.
    /home/marcin/V-PlaySDK/5.5/android_armv7/qml/QtLocation/plugins.qmltypes:10:5: Expected only Component and ModuleApi object definitions.
    
    Warnings while parsing QML type information of /home/marcin/V-PlaySDK/5.5/android_armv7/qml/QtBluetooth:
    /home/marcin/V-PlaySDK/5.5/android_armv7/qml/QtBluetooth/plugins.qmltypes:1:24: Reading only version 1.1 parts.
    /home/marcin/V-PlaySDK/5.5/android_armv7/qml/QtBluetooth/plugins.qmltypes:10:5: Expected only Component and ModuleApi object definitions.

     

     

    • This topic was modified 2 years, 8 months ago.
    #11811

    Marcin

    After more digging found this:
    https://bugreports.qt.io/browse/QTCREATORBUG-15006

    Solution is to install either older version of QtCreator(3.4.2) or new beta for 3.6.
    At least I can deploy to my device using those, unfortunately some bits don’t work as expected(some weird bugs which are not on desktop).
    Not sure if it’s a code issue or different QtCreator version.
    I had to add KIT and QtVersions manually so maybe I missed something.

    Definitely current stable QtCreator has deploy issues here for some devices.

    Maybe we can close this topic now if anybody can’t find better solution than to downgrade or wait for new QtCreator.

    • This reply was modified 2 years, 8 months ago by  senkal.
    #11813

    Marcin

    Last bits which probably block me from using different QtCreator(currently issues only on smartphone, can not change entities positions in few situations):

    0x41dfadf8
    D/dalvikvm(27272): Added shared lib /data/data/com.senkal.destroycandies/qt-reserved-files/plugins/mediaservice/libqtmedia_android.so 0x41dfadf8
    D/dalvikvm(27272): Trying to load lib /data/data/com.senkal.destroycandies/lib/libQt5MultimediaQuick_p.so 0x41dfadf8
    D/dalvikvm(27272): Shared lib '/data/data/com.senkal.destroycandies/lib/libQt5MultimediaQuick_p.so' already loaded in same CL 0x41dfadf8
    W/System.err(27272): java.lang.ClassNotFoundException: android.graphics.drawable.RippleDrawable
    W/System.err(27272): 	at java.lang.Class.classForName(Native Method)
    W/System.err(27272): 	at java.lang.Class.forName(Class.java:217)
    W/System.err(27272): 	at java.lang.Class.forName(Class.java:172)
    W/System.err(27272): 	at org.qtproject.qt5.android.ExtractStyle.getClass(ExtractStyle.java:388)
    W/System.err(27272): 	at org.qtproject.qt5.android.ExtractStyle.<init>(ExtractStyle.java:92)
    W/System.err(27272): 	at org.qtproject.qt5.android.QtActivityDelegate.loadApplication(QtActivityDelegate.java:430)
    W/System.err(27272): 	at java.lang.reflect.Method.invokeNative(Native Method)
    W/System.err(27272): 	at java.lang.reflect.Method.invoke(Method.java:511)
    W/System.err(27272): 	at org.qtproject.qt5.android.bindings.QtActivity.loadApplication(QtActivity.java:245)
    W/System.err(27272): 	at org.qtproject.qt5.android.bindings.QtActivity.startApp(QtActivity.java:655)
    W/System.err(27272): 	at org.qtproject.qt5.android.bindings.QtActivity.onCreate(QtActivity.java:895)
    W/System.err(27272): 	at android.app.Activity.performCreate(Activity.java:5206)
    W/System.err(27272): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1083)

    If there is a way to get rid of these errors, would be great.
    Otherwise, only desktop for me until new QtCreator arrives.

    • This reply was modified 2 years, 8 months ago by  senkal.
    #11816

    Günther
    V-Play Team

    Hi Marcin,
    sorry to hear you are having these deployment troubles!
    I guess there really is no better way than using the other Qt Creator version at the moment.

     

    As for the RippleDrawable class not found exception: I also experienced this error in the past. As far as I know, it is only printed on older android versions and can be safely ignored. I don’t think it is responsible for the weird behavior of your entities.

     

    To make sure you don’t have an error in your code: If you can narrow down the code part that is affected, I can see/try if the code works on my android phone.
    Best,
    Günther

    #11843

    Marcin

    Thank you Günther for answer.
    QtCreator- agree. There is nothing we can do, it’s pure QtCreator trying to catch up with the changes in Android SDK and the way they move stuff around.

    The code weird behaviour- you say that is not fatal- that is interesting.
    Will take a look more but in general works on Desktop, doesn’t on Android.
    What I do is I create an entity, do fixture.onComplete and inside I change the entity x position to show it on a spot where I want.
    On Desktop works, on Andoid, even if I hard code values, it always show at x=0.
    This is very basic operation, really similar to what you do in one of your demos(balloons), small snippet with parts of the code(Balloon.qml):

    import QtQuick 2.0
    import VPlay 2.0
    
    EntityBase {
        entityType: "Balloon"
        opacity: 1
    ... some properties here
    
        property variant matrix: {1: 0, 2:107, 3:214, 4: 321, 5: 428, 6: 535 }
        // to do random position but on preferred column
      
    ... Image here
    
        BoxCollider {
            id: collider
            anchors.fill: parent
            gravityScale: parent.gravityScale
    
    ... more code
    
        Component.onCompleted: {
            var columns = 6;
            var position = Math.floor(Math.random() * columns) + 1
    
    
            entity.x = matrix[position]
    // this doesn't work
    // just x=matrix[position] also works
    // even if I do x=150, it still goes to x=0
    // it is always x=0 on Smartphone
    // was working fine in older versions of VPlay.net 
    
        }
    }
    

    Is there a way I can downgrade VPlay, maybe will be find the exact versions where it works.
    This code is really basic code.
    It is either really weird edge case or I have some logic which only triggers on physical device.
    If you have any idea I would be grateful.
    Until then will do some tests, maybe will track the issue.

    • This reply was modified 2 years, 8 months ago by  senkal.
    #11848

    Günther
    V-Play Team

    Hi Marcin,
    Thank you for the code sample – I was able to reproduce the error and did some testing to figure out what’s wrong.

    I believe this behavior was introduced with our recent Box2D physics update. It only affects dynamically created entities that are part of the PhysicsWorld, like the balloons. Any immediate changes of the x,y position after the entity creation are overruled by the position calculation of the physics engine.

    You can fix this problem by setting the initial position with the EntityManger.createEntityFromUrlWithProperties function, instead of using the Component.onCompleted event. You can look at the code of the StackTheBox demo for a working example.

    I will refer this problem to our Box2D developers to see if they can fix this issue for the next update!

    Best, Günther

    • This reply was modified 2 years, 7 months ago by  GT.
    #11851

    Marcin

    Hi Günther,
    Thank you for your help.
    The trick works. Even like this approach more.

    In the end with QtCreator 3.4.2 and the different way to move entities all my issues are fixed/there is a workaround.
    Can go back to work.
    This thread can be closed.

    • This reply was modified 2 years, 7 months ago by  senkal.
Viewing 7 posts - 1 through 7 (of 7 total)

RSS feed for this thread

You must be logged in to reply to this topic.

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support