所以我刚刚更新到Android Studio 2.2,在我的设备上运行我的应用程序时遇到了问题。现在,当我尝试调试我的应用程序时,似乎有两个独立的调试器在运行。其中一个是优秀的老Java调试器,另一个我认为是LLDB调试器。
我的应用程序有一个闪屏,它显示为应用程序中的第一个Activity。之前发生的情况是,闪屏只会在实际的介绍屏幕出现前1秒左右显示。在我将我的Android Studio更新到2.2版本后,大约过了一分钟,闪屏就消失了。
我给SplashScreenActivity.onCreate()设置了一个断点,看看是否一切正常。启动应用程序后,它会等待一段时间,然后LLDB调试器停止并显示SIGURG信号。我点击恢复程序,它再次点击相同的信号。这种情况会发生7-8次,之后我在SplashScreenActivity.onCreate()中的断点就会被Java调试器击中。在此之后,应用程序将继续正常工作。
我不知道它是否有帮助,但是LLDB调试器的控制台是这样的:
09/26 00:19:32: Launching app
No apk changes detected since last installation, skipping installation of D:\Documents\SourceTree\autocolorsplash-android\app\build\outputs\apk\app-debug.apk
$ adb shell am force-stop com.kayimapps.autocolorsplash_android
$ adb shell am start -n "com.kayimapps.autocolorsplash_android/com.kayimapps.autocolorsplash_android.activities.SplashScreenActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Waiting for application to come online: com.kayimapps.autocolorsplash_android | com.kayimapps.autocolorsplash_android.test
Waiting for application to come online: com.kayimapps.autocolorsplash_android | com.kayimapps.autocolorsplash_android.test
Connecting to com.kayimapps.autocolorsplash_android
Now Launching Native Debug Session
Starting LLDB server: /data/data/com.kayimapps.autocolorsplash_android/lldb/bin/start_lldb_server.sh /data/data/com.kayimapps.autocolorsplash_android/lldb unix-abstract /data/data/com.kayimapps.autocolorsplash_android/lldb/tmp platform-1474838375380.sock "lldb process:gdb-remote packets"
Debugger attached to process 927
Signal: SIGURG (signal SIGURG)
Signal: SIGURG (signal SIGURG)
Signal: SIGURG (signal SIGURG)
Signal: SIGURG (signal SIGURG)
Signal: SIGURG (signal SIGURG)
Signal: SIGURG (signal SIGURG)
Signal: SIGURG (signal SIGURG)
Signal: SIGURG (signal SIGURG)除了一些编译过的OpenCV代码,我没有在我的应用程序中使用任何C++,这些代码我根本没有接触过。我只对OpenCV使用了Java包装器。
调试器框架在第一个SIGURG信号之后如下所示:


由于我不知道发生了什么,我不知道是否还有其他相关的信息可以提供。如果这看起来像你以前见过的东西,并需要一些额外的信息,请告诉我。
发布于 2016-09-27 05:14:39
所以我找不到为什么LLDB让我等了大约一分钟,但我找到了完全禁用LLDB的地方。我不知道在Android Studio2.2之前它是否存在,但是你可以去Run->Edit Configurations,在Debugger窗格中,你可以将Debug Type设置为Java而不是Auto。
这将禁用LLDB并将其恢复到2.2之前的状态。然而,通过adb首次启动该应用程序仍然会导致闪屏停留一段时间。
https://stackoverflow.com/questions/39692055
复制相似问题