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 в Ассистенте подключений, и у вас все получится.