2016-09-25 4 views
4

Так что я просто обновился до Android Studio 2.2, и у меня возникли проблемы с запуском моего приложения на моем устройстве. Похоже, что сейчас есть два отдельных отладчика, когда я пытаюсь отлаживать свое приложение. Один из них - старый добрый отладчик Java, а другой - я считаю отладчиком LLDB.Неопознанное поведение LLDB в Android Studio 2.2

Мое приложение имеет заставку, представленную в качестве первого Activity в приложении. То, что произошло раньше, было отображено заставка только за 1 секунду до появления фактического вступительного экрана. После того, как я обновил свою Android-студию до версии 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) 

Я не использую любые C++ в моем приложении, кроме некоторого скомпилированного кода OpenCV, который я гавань Я вообще не трогал. Я использую только оболочку Java для OpenCV.

отладчик кадр выглядит так после первого сигнала SIGURG:

debug frame debug frame

Я не знаю, если есть какая-либо другая соответствующая информация, которую я могу дать о ситуации, так как я понятия не имею, то, что продолжается. Пожалуйста, скажите мне, если это похоже на то, что вы видели раньше, и требует дополнительной информации.

ответ

8

Так что я не мог найти, почему LLDB заставил меня ждать около минуты, но я обнаружил, где вообще отключить LLDB. Я не знаю, было ли это до Android Studio 2.2, но вы можете перейти в Run-> Edit Configurations и на панели Debugger вы можете установить тип Debug на Java вместо Auto.

Это отключает LLDB и возвращает все, что было до 2.2. Однако запуск приложения в первый раз через adb по-прежнему приводит к тому, что заставка задерживается на некоторое время.

Смежные вопросы