Tworzę aplikację w Android Studio, teraz próbuję ją debugować przez adb. Kiedy klikam słowo Android i logo na dolnym pasku, pojawia się logcat i rozpoznaje moje urządzenie. Wtedy widzę to:
Co muszę zrobić z moją aplikacją, aby umożliwić jej debugowanie?
FYI już wcześniej rozwijało tę aplikację w Eclipse i adb działało dobrze.
android
debugging
adb
android-studio
Andy Roy D.
źródło
źródło
Odpowiedzi:
Na pasku narzędzi znajduje się ikona debugowania . Wygląda jak mały „błąd” i znajduje się tuż obok ikony Uruchom (która wygląda jak przycisk odtwarzania). Spróbuj uruchomić aplikację za pomocą tego.
Edycja: poniższe elementy są przestarzałe w przypadku korzystania z Android Studio z Gradle.
W pliku AndroidManifest.xml znajduje się również flaga debugowania . Znajduje się pod tagiem aplikacji i powinien mieć wartość „true” w następujący sposób:
<application android:debuggable="true"> </application>
źródło
File
->Settings
->Keymap
- znajdują się one podMain menu
->Run
. Zobacz to, aby uzyskać więcej informacji.Rozwiązałem ten problem po wykonaniu następujących czynności:
Idź do Narzędzia ==> android ==> Wyłącz integrację ADB i włącz ją ponownie.
Następnie odłącz USB od urządzenia i podłącz ponownie.
Na koniec naciśnij Shift + F9
źródło
Kolejna rzecz, na którą należy uważać (zrobiłem to, więc wiem, duh). Nie włączaj Proguard do debugowania!
źródło
Miałem też losowo ten problem nawet po wielokrotnym debugowaniu w Android Studio. Pewnego dnia debugger po prostu nie mógł się podłączyć. Musiałem tylko wyjść z Android Studio i ponownie go otworzyć, a debugger znów zaczął działać.
źródło
<application android:debuggable="true"> </application>
To już nie działa! Nie ma potrzeby używania debuggable = "true" w manifeście.
Zamiast tego należy ustawić warianty kompilacji na „debugowanie”
W Android Studio przejdź do BUILD -> Select Build Variant
Teraz spróbuj debugować. Dzięki
źródło
To zadziałało dla mnie:
Otwórz powłokę i napisz:
adb kill-server
adb start-server
źródło
adb reconnect
polecenia, ale już tego nie robi w AS 3.1 (może robię coś źle lub za mało?Upewnij się, że masz włączoną integrację ADB.
W Menu: Narzędzia -> Android -> Włącz integrację ADB (v1.0)
źródło
Jeśli Twoja aplikacja była debugowalna i nagle przestaje być debugowalna, oto moje rozwiązanie
USB debug
przełącznik w telefonie.źródło
Jednym z przypadków, w których nie można debugować aplikacji w Android Studio, jest wybranie wariantu kompilacji „wydanie”. Przydarzyło mi się - Gradle buduje wersję wydania aplikacji (której nie można debugować), a następnie Android Studio nie udaje się połączyć debugera.
źródło
Czasami mi się to zdarza i jeszcze nie wiem dlaczego. Żadne z już opublikowanych rozwiązań nie zadziałało dla mnie. Jedyne, co mi pasuje, to:
źródło
Ikona „Dołącz debugger do procesu Androida” powinna być używana w przypadku ustawienia niestandardowego „android: proces” w pliku Manifest.
W moim przypadku powinienem wybrać odpowiedni proces i kliknąć przycisk OK zaraz po pojawieniu się okna dialogowego „Czekaj na debugger”.
źródło
Sprawdź, czy projekt aplikacji jest zaznaczony w menu rozwijanym obok przycisku debugowania. Czasami Android Studio po prostu resetuje ten wybór ...
źródło
Jeśli włączysz
<application android:debuggable="true"> </application>
W pliku manifest.xml aplikacji upewnij się, że wyłączyłeś go podczas generowania ostatecznego podpisanego pliku APK, ponieważ może to służyć jako luka w zabezpieczeniach dla atakujących. Używaj go tylko wtedy, gdy tylko jedna z aplikacji nie wyświetla dzienników. Jednak przed rozważeniem tej opcji spróbuj tego:
Przejdź do narzędzi w Android Studio
Tools==>android==>disable adb integration and again enable it
źródło
Upewnij się również, że nie używasz innych aplikacji, które mogą również korzystać z ADB, na przykład Eclipse.
źródło
Przetestowałem wszystkie sposoby i żaden z nich nie działał !!!
w końcu musiałem zmienić port adb i zadziałało. najpierw zabij serwer adb, jak poniżej:
adb kill-server
następnie uruchom go ponownie, używając innego portu
adb -P 5038 start-server
źródło
Zrobiłem czystą kompilację za pomocą poniższego polecenia .. Zaskakująco działało.
Miejmy nadzieję, że ktoś uzyska pomoc!
źródło
W moim przypadku w pobliżu dowolnej linii pojawiło się czerwone kółko z krzyżykiem i czerwoną linią z komunikatem: „Nie znaleziono kodu wykonywalnego w linii ...”, jak w przypadku punktu przerwania gradle w Android studio. W linii nie znaleziono kodu wykonywalnego .
Wystąpił problem po aktualizacji
build.gradle
. Dodaliśmy obsługę Kotlina, więc liczba metod przekroczyła 64K. Problematyczne linie:buildTypes { debug { minifyEnabled true
Zmień je na:
buildTypes { debug { minifyEnabled false debuggable true
Następnie zsynchronizuj gradle za pomocą przycisku „Synchronizuj projekt z plikami Gradle”. Jeśli po ponownym uruchomieniu aplikacji pojawi się błąd: „Błąd: liczba odwołań do metod w pliku .dex nie może przekraczać 64 KB. Dowiedz się, jak rozwiązać ten problem na https://developer.android.com/tools/building/ multidex.html ”, to tak jak w . Liczba odwołań do metod w pliku .dex nie może przekraczać 64 tys. API 17 dodaj następujące wiersze do
build.gradle
:android { defaultConfig { ... // Enabling multidex support. multiDexEnabled true } ... } dependencies { implementation 'com.android.support:multidex:1.0.2' }
AKTUALIZACJA
Zgodnie z https://developer.android.com/studio/build/multidex.html wykonaj następujące czynności, aby włączyć obsługę wieluidex poniżej Androida 5.0. W przeciwnym razie nie uruchomi się na tych urządzeniach.
Otwórz
AndroidManifest
i znajdź tag<application>
. Nearandroid:name=
to odwołanie do klasy Application. Otwórz tę klasę. Rozszerz klasę Application oMultiDexApplication
:public class MyApplication extends MultiDexApplication { ... }
Jeśli klasa aplikacji nie jest ustawiona, napisz:
<application android:name="android.support.multidex.MultiDexApplication" > ... </application>
źródło
Pamiętaj, aby włączyć tryb programisty i debugowanie USB na urządzeniu lub emulatorze. (Łatwo o tym zapomnieć podczas konfigurowania nowego).
źródło
Powinieneś także mieć aktywne Narzędzia-> Android-> Włącz integrację ADB.
źródło
Udało mi się to naprawić, przechodząc do Uruchom -> Edytuj konfiguracje, wybierając mój projekt, wybierając kartę Debugger, a następnie zmieniając „Typ debugowania” z „Auto” na „Podwójny”:
źródło
To rozwiązało mój problem. Odinstaluj aplikację z urządzenia i uruchom ją ponownie przez Android Studio.
źródło
U mnie stało się tak, gdy korzystałem z Proguard, więc wypróbowując wszystkie rozwiązania, wyczyściłem projekt i nacisnąłem przycisk debugowania na Android Studio i zaczął debugować
źródło
W moim przypadku musiałem usunąć proguard w debugowaniu typu kompilacji, całkowicie czyszcząc plik tekstowy
proguard-rules.pro
i tworzącminifyEnabled false
plik build.gradledebug { debuggable true minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' }
źródło
<application android:debuggable="true"> </application>
Powyższy kod nie jest już rozwiązaniem. Musisz włączyć debugowanie w pliku build.gradle. Jeśli masz różne typy buildTypes, upewnij się, że ustawiłeś „debuggable true” w jednym z typów buildów. Oto przykładowy kod z jednego z moich projektów.
buildTypes { debug { debuggable true } release { debuggable false } }
** Usunąłem inne wiersze w buildTypes, które nie są związane z tym pytaniem z mojego pliku Gradle.
Upewnij się również, że podczas debugowania wybrałeś prawidłowy wariant kompilacji w swoim studiu Android.
źródło
Przez lata wielokrotnie odwiedzałem ten wątek i zawsze pomagała mi inna odpowiedź. Tym razem stwierdzam, że to mój hub USB uniemożliwiał poprawne działanie debuggera. Choć brzmi to dziwnie, zamiast podłączać telefon do komputera przez koncentrator USB, musiałem podłączyć go bezpośrednio do mojego Maca i debugowanie zaczęło działać.
źródło
W moim przypadku zapomniałem minifyEnabled = true i shrinkResources = true w moim buildType debugowania. Zmieniam te wartości na fałsz, znowu działa!
źródło
Oto kilka błędów, które mogą trochę przyłapać: Całkiem łatwo jest przypadkowo wpisać filtr w oknie wyjściowym logcat (pole tekstowe z lupą) i zapomnieć o nim. To, co potencjalnie odfiltruje wszystkie dane wyjściowe i sprawi, że będzie wyglądać, jakby nic tam nie było.
źródło
W moim przypadku miałem ten sam problem, ponieważ próbuję debugować podpisany apk. W mojej konfiguracji gradle stworzyłem różne warianty kompilacji i próbowałem debugować wersję wydania za pomocą produkcyjnego pliku keystore.jks
źródło
Co działało dla mnie w Android Studio 3.2.1
Było:
RUN -> Attach debugger to Android Process --> com.my app
źródło
Uruchom ponownie serwer adb w Android Studio: Narzędzia -> „ Rozwiązywanie problemów z połączeniem urządzenia ”
źródło