双调试(C/C++和Java)在AndroidStudio2.3.3中正常工作,minSdkVersion: 22,targetSdkVersion/编译程序minSdkVersion: 26。
当我更新到Android 3.0.1时,Java调试器是正常的,但C/C++调试器不能运行。我分别在Java和C/C++调试器之间进行测试,找出哪个调试器不工作。
问题是C/C++调试器无法在Android 3.0.1上运行。发生了如下错误:
com.jetbrains.cidr.execution.debugger.backend.lldb.LLDBDriverException:未能收到对握手包的答复com.jetbrains.cidr.execution.debugger.backend.lldb.LLDBDriver$ThrowIfNotValid.throwIfNeeded(LLDBDriver.java:143)在com.android.tools.ndk.run.lldb.AndroidLLDBDriver.connectPlatform(AndroidLLDBDriver.java:308) at com.android.tools.ndk.run.lldb.AndroidLLDBDriver.loadForLaunch(AndroidLLDBDriver.java:158) at com.android.tools上未能收到对握手分组的答复.ndk.run.lldb.AndroidLLDBDriver.loadForAttach(AndroidLLDBDriver.java:199) at com.android.tools.ndk.run.AndroidNativeAppDebugProcess.prepareTarget(AndroidNativeAppDebugProcess.java:98) at com.android.tools.ndk.run.AndroidNativeDebugProcess.doStart(AndroidNativeDebugProcess.java:113) at com.jetbrains.cidr.execution.debugger.CidrDebugProcess$3.run(CidrDebugProcess.java:307) at com.jetbrains.cidr.execution.debugger.CidrDebugProcess$MyCommandProcessor.consume(CidrDebugProcess.java:724) at com.jetbrains.cidr.execution.debugger.CidrDebugProcess$MyCommandProcessor.consume(CidrDebugProcess.java:714) at com.intellij.util.concurrency.QueueProcessor.lambda$null$0(QueueProcessor.java:106) at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:223) at com.intellij.util.concurrency.QueueProcessor.lambda$wrappingProcessor$1(QueueProcessor.java:106) at com.intellij.util.concurrency.QueueProcessor.lambda$null$2(QueueProcessor.java:203) at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:223)在com.intellij.util.concurrency.QueueProcessor.lambda$startProcessing$3(QueueProcessor.java:203) at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:334) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.utilconcurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
如何解决这个问题?
发布于 2018-04-06 20:29:58
我对AndroidStudio3.1也有双重调试问题。尝试使用不同的模拟器SDK级别。我不能使用双调试与SDK 16模拟器。它只适用于我使用SDK 24仿真器。
发布于 2019-09-03 10:37:13
我使用了AVDPixel2XLAPI 22 - x86 - Google (可以根植),并得到了同样的问题“未能得到回复握手包”,与日志:
Launching 'setMeasurement() (1)' on Pixel 2 XL API 22 - x86 - Google API
Running tests
$ adb shell am instrument -w -r -e debug true -e \
class 'com.my.package.MyClassTest#setMeasurement' \
com.my.package.test/androidx.test.runner.AndroidJUnitRunner
Waiting for application to come online: com.my.package | com.my.package.test
...
Waiting for application to come online: com.my.package | com.my.package.test
Connecting to com.my.package.test
Now Launching Native Debug Session
$ adb shell cat /data/local/tmp/lldb-server \
| sh -c 'cat > /data/data/com.my.package/lldb/bin/lldb-server
\ && chmod 700 /data/data/com.my.package/lldb/bin/lldb-server'
$ adb shell cat /data/local/tmp/start_lldb_server.sh \
| sh -c 'cat > /data/data/com.my.package/lldb/bin/start_lldb_server.sh \
&& chmod 700 /data/data/com.my.package/lldb/bin/start_lldb_server.sh'
Starting LLDB server:
failed to get reply to handshake packet因此,我尝试重复这些命令(亚行外壳+本地运行的命令)--最后两个亚行shell命令失败了。检查电话文件目录结构,我发现:
对我有效的解决办法是创建(错误的?)安装之前的目标文件夹:
adb shell
mkdir -p /data/data/com.my.package/lldb/bin发布于 2021-02-17 09:59:21
简单的卸载和安装帮助我。
adb uninstall com.your.packagehttps://stackoverflow.com/questions/49148823
复制相似问题