2015-12-30 46 views
9

Podczas uruchamiania aplikacji pojawia się komunikat "Klient jeszcze nie gotowy". Ponadto na moim urządzeniu wyświetla się komunikat "Oczekiwanie na dołączenie debuggera", a następnie "Niestety aplikacja na Androida przestała działać". Próbowałem każdego możliwego rozwiązania dostępnego na forach dyskusyjnych, ale nie ma tu żadnego rozwiązania. Próbowałem też uruchomić prostą aplikację HELLO WORLD, aby dowiedzieć się, czy jest jakiś problem z moim kodem aplikacji, ale ta sama wiadomość została wyświetlona. Próbowałem następujące rzeczy:Android Studio: Klient nie jest jeszcze gotowy

  1. Ponowna instalacja sterowników deice
  2. Reinstalacja android studio
  3. Instalacja LLDB
  4. Używanie innego urządzenia, innego kabla i portu
  5. dodając android.os.Debug. waitForDebugger(); do pliku manifestu
  6. Zmiana ustawień MTP tylko
  7. Usuwanie wszystkich punktów przerwania

Ale nic nie działało. Co może być przyczyną tego problemu?

+0

Nie masz w ogóle dziennika? – cylon

+0

A co z trybem telefonu? – Sree

Odpowiedz

12

Aktywność należy wyeksportować, aby była dostępna z poziomu adb. Jeśli działanie ma wartość intent-filter, jest eksportowane domyślnie. W przeciwnym razie dodać eksportowany flag

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

Jest to błąd pojawi się, gdy działalność nie jest eksportowany i uruchomieniu

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

Błąd:

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) 
+0

Cholera! Teraz rozumiem, dlaczego edytowanie konfiguracji w celu rozpoczęcia innej czynności nigdy nie zadziałało! Dzięki! –

+1

próbowałem .... nie działa w moim przypadku: '( – Shachi

+0

ja też nie działa bro. –

0

Jeśli błąd nie NOT pochodzą z AndroidManifest (jak moja sytuacja), możesz spróbować:

  • Tool -> Android -> Wyłącz [umożliwiają integrację ADB]
  • Run -> Run "appname"
  • Gdy aplikacja pokazuje komunikat "Oczekiwanie na debug", wybierz Uruchom ->Attach Debugger do procesu Android -> Wybierz nazwę pakietu swojej aplikacji pod nazwą Deive.
  • Obserwuj Logcat i znajdź miejsce, w którym zawiesi się Twoja aplikacja.
Powiązane problemy