首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于Android调试的Qt问题

用于Android调试的Qt问题
EN

Stack Overflow用户
提问于 2017-08-02 11:28:11
回答 1查看 1K关注 0票数 0

我已经在Qt中安装了一个工具包来将我的应用程序部署到Android上。查看了issues,最后得到了:

  • Qt Creator 4.3.1
  • Qt 5.9.1
  • NDK: r10e
  • SDK: r25.2.5

我部署到运行Android5.1.1的平板电脑上。

“跑”很好。我的应用程序是部署、启动和崩溃的。因此,我想调试,但不太顺利。在我的应用程序启动之前,我得到了“连接到远程服务器失败:附加到进程6285失败”的错误。

亚行日志:

I/Qt ( 5981): qt start D/houdini ( 5981): [5981] Added shared library /data/data/org.qtproject.example.gui/qt-reserved-files/plugins/bearer/libqandroidbearer.so for ClassLoader by Native Bridge. D/houdini ( 5981): [5981] Added shared library /data/data/org.qtproject.example.gui/qt-reserved-files/plugins/position/libqtposition_android.so for ClassLoader by Native Bridge. I/QtPositioning( 5981): Positioning start I/Qt JAVA ( 5981): DEBUGGER: extra parameters: Bundle[{debug_ping=true, gdbserver_socket=/data/data/org.qtproject.example.gui/debug-socket, qml_debug=true, gdbserver_command=/data/data/org.qtproject.example.gui/lib/libgdbserver.so --multi +/data/data/org.qtproject.example.gui/debug-socket, qmljsdebugger=port:38509,block,services:DebugMessages,QmlDebugger,V8Debugger,QmlInspector, ping_socket=org.qtproject.example.gui.ping_pong_socket}] I/Qt JAVA ( 5981): DEBUGGER: removing gdb socket /data/data/org.qtproject.example.gui/debug-socket I/Qt JAVA ( 5981): DEBUGGER: starting /data/data/org.qtproject.example.gui/lib/libgdbserver.so --multi +/data/data/org.qtproject.example.gui/debug-socket I/Qt JAVA ( 5981): DEBUGGER: gdbserver started I/Qt JAVA ( 5981): DEBUGGER: waiting for socket at /data/data/org.qtproject.example.gui/debug-socket, attempt 0 W/libgdbserver.so( 6001): type=1400 audit(0.0:13): avc: denied { module_request } for kmod="personality-8" scontext=u:r:untrusted_app:s0 tcontext=u:r:kernel:s0 tclass=system permissive=0 I/Qt JAVA ( 5981): DEBUGGER: waiting for socket at /data/data/org.qtproject.example.gui/debug-socket, attempt 1 I/Qt JAVA ( 5981): DEBUGGER: socket ok I/Qt JAVA ( 5981): DEBUGGER: Waiting for debug socket connect I/Qt JAVA ( 5981): DEBUGGER: go to sleep I/Qt JAVA ( 5981): DEBUGGER: Waiting for debug socket connect I/Qt JAVA ( 5981): DEBUGGER: go to sleep I/Qt JAVA ( 5981): DEBUGGER: Waiting for debug socket connect I/Qt JAVA ( 5981): DEBUGGER: go to sleep I/Qt JAVA ( 5981): DEBUGGER: Waiting for debug socket connect I/Qt JAVA ( 5981): DEBUGGER: go to sleep I/Qt JAVA ( 5981): DEBUGGER: Waiting for debug socket connect I/Qt JAVA ( 5981): DEBUGGER: go to sleep I/Qt JAVA ( 5981): DEBUGGER: Debug socket accepted I/Qt JAVA ( 5981): DEBUGGER: Waiting for debug socket connect I/Qt JAVA ( 5981): DEBUGGER: go to sleep I/Qt JAVA ( 5981): DEBUGGER: Waiting for debug socket connect I/Qt JAVA ( 5981): DEBUGGER: go to sleep D/AndroidRuntime( 6008): >>>>>> START com.android.internal.os.RuntimeInit uid 2000 <<<<<< D/AndroidRuntime( 6008): CheckJNI is OFF W/art ( 6008): Could not create mount namespace. W/ ( 6008): Failed to bind-mount /system/lib/x86/cpuinfo as /proc/cpuinfo: Operation not permitted E/ ( 6008): Cannot create code cache directory ./code_cache: Read-only file system. I/Build ( 6008): Restore serial number. D/AndroidRuntime( 6008): Calling main entry com.android.commands.am.Am I/ActivityManager( 2911): Force stopping org.qtproject.example.gui appid=10080 user=0: from pid 6008 I/ActivityManager( 2911): Killing 5981:org.qtproject.example.gui/u0a80 (adj 0): stop org.qtproject.example.gui I/libprocessgroup( 2911): Killing pid 6001 in uid 10080 as part of process group 5981 D/ActivityManager( 2911): cleanUpApplicationRecord -- 5981 I/ActivityManager( 2911): Force finishing activity 3 ActivityRecord{1325d u0 org.qtproject.example.gui/org.qtproject.qt5.android.bindings.QtActivity t20} W/ActivityManager( 2911): Spurious death for ProcessRecord{90e0893 5981:org.qtproject.example.gui/u0a80}, curProc for 5981: null

EN

回答 1

Stack Overflow用户

发布于 2018-10-19 17:27:36

尝试如下:获取应用程序的安装文件夹:

代码语言:javascript
复制
adb shell run-as <package name of your app> /system/bin/sh -c pwd

然后更改该文件夹上的文件属性:

代码语言:javascript
复制
adb shell run-as <package name of your app> chmod "a+x"  <output of previous command>

您可以从android清单文件中获取您的包名。在此之后,Qt的调试应该可以正常工作--或者对我来说是这样的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45459596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档