Android Studio: клиент еще не готов

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

  • Переустановка драйверов deice
  • Переустановка студии Android.
  • Установка LLDB
  • Использование другого устройства, другого кабеля и порта
  • добавление android.os.Debug.waitForDebugger(); в файл манифеста
  • Изменение настройки только для MTP
  • Удаление всех контрольных точек

Но ничего не получилось. Что может быть основной причиной этой проблемы?

Ответ 1

Активность должна быть экспортирована для доступа из adb. Если у Activity есть intent-filter, он экспортируется по умолчанию. В противном случае добавьте экспортированный флаг:

<activity
    android:name=".my.MyActivity"
    android:exported="true"/>

Это ошибка, которую вы получаете, когда активность не экспортируется и вы запускаете

adb shell am start -n "com.example/com.example.my.MyActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER

Ошибка:

Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.example/.my.MyActiviy } from null (pid=26721, uid=2000) not exported from uid 10304
    at android.os.Parcel.readException(Parcel.java:1620)
    at android.os.Parcel.readException(Parcel.java:1573)
    at android.app.ActivityManagerProxy.startActivityAsUser(ActivityManagerNative.java:2694)
    at com.android.commands.am.Am.runStart(Am.java:875)
    at com.android.commands.am.Am.onRun(Am.java:359)
    at com.android.internal.os.BaseCommand.run(BaseCommand.java:47)
    at com.android.commands.am.Am.main(Am.java:100)
    at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
    at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:251)

Ответ 2

[Этот ответ устарел для последних версий Android Studio]

Это сработало для меня:

Сервис> Android> Включить интеграцию с ADB

Вам нужно поставить галочку Включить интеграцию с ADB

Ответ 3

Если это временная проблема, то в большинстве случаев я обнаружил, что перезапуск Android Studio исправил проблему.

В одном случае перезапуск Windows, казалось, решил проблему. А перезагрузки устройства не было.

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

Я работал с двумя разными проектами Android Studio, открытыми одновременно, оба запускали (разные) приложения на одном устройстве (но не одновременно).

Возможно, я открыл Device File Explorer в обоих проектах.

Ответ 4

Если ошибка от НЕ происходит от AndroidManifest (например, моя ситуация), вы можете попробовать следующее:

  • Инструмент → Android → TURN OFF [Включить интеграцию ADB]
  • Выполнить → Запустить "appname"
  • Когда приложение отображает сообщение "Ожидание отладки", выберите "Выполнить" → Прикрепить отладчик к процессу Android → Выберите имя пакета вашего приложения под именем Deive.
  • Наблюдайте за Logcat и отслеживайте, где происходит сбой приложения.

Ответ 5

добавьте эти строки в файл манифеста

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

внутри вашего тега активности

Ответ 6

Проверьте настройки Run/Debug.

Перейдите в меню " Выполнить/отладить конфигурации" > " Параметры запуска" > " Запуск" и выберите " Действия по умолчанию".

Я случайно переключил его на Nothing и приложение перестало работать после установки.

select Default Activity

Ответ 7

Используя Android Studio 3.4.1, вы можете получить:

 No apk changes detected since the last installation, skipping installation of /apk/debug/app-debug.apk
$ adb shell am force-stop
$ adb shell am start -n ".StartingScreenActivity" 
-a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Client not ready yet...

Меню Инструменты> Android не существует в Android Studio 3.1.2 +

В случае, если → Выполнить - "запустить" приложение - устройство в брекет-шоу (NULL)

В моем случае, как показано на рисунке → Android 8.0.0, API26 Android (NULL)

Открыть: Инструменты → Conection Asistent и нажмите Далее Инструменты → Conection Asistent

Вам может понадобиться перезапустить сервер ADB в Ассистенте подключений, и у вас все получится.