Huawei, logcat nie wyświetla dziennika mojej aplikacji?


163

OK, logcat pokazuje logi systemowe, ale nie pokazuje logów aplikacji na moim Huawei Ascend. Jeśli przełączę się na inne urządzenie, takie jak mój Galaxy Nexus lub Nexus 7, zostanie wyświetlony dziennik dla tej samej aplikacji (nawet ten sam plik APK).

Huawei Ascend działa pod kontrolą Androida 4.1.1, ma włączone debugowanie USB w opcjach programisty. Dzieje się tak w przypadku uruchamiania logcat z wiersza poleceń lub z IntelliJ. I upewniam się, że wybrane jest właściwe urządzenie - w rzeczywistości podłączam tylko jedno urządzenie na raz. Próbowałem zrestartować adb, wyczyścić jego bufor itp

Widzę, że aplikacja uruchamia się na Huawei, dostaję nawet dzienniki systemowe pokazujące, że aktywność się rozpoczęła. Ale w przeciwieństwie do innych urządzeń nie widzę dziennika aplikacji w Activity # onCreate (ani z dowolnego innego miejsca).

08-08 20:55:44.050: INFO/WindowManager(431): Switching to real app window: Window{41ae8780 au.com.xandar.wirelesstiming.timekeeper/au.com.xandar.wirelesstiming.timekeeper.TimeKeeperActivity paused=false}
08-08 20:55:44.180: INFO/ActivityManager(431): Displayed au.com.xandar.wirelesstiming.timekeeper/.TimeKeeperActivity: +387ms

W jaki sposób dziennik aplikacji może nie zostać dostarczony?


Może zastosowałeś jakiś filtr w wyjściu LogCat - sprawdź to.
g00dy


@CamilStaps, ponieważ ten problem jest specyficzny dla telefonów Huawei.
William

To nie ma znaczenia, chodzi o to, że odpowiedź na to pytanie udzielono już w innym miejscu.

@CamilStaps Na to pytanie nie ma odpowiedzi nigdzie indziej. Zbierz liczbę osób, którym pomogło w porównaniu z innymi.
William,

Odpowiedzi:


469

OK, ponieważ miałem inny Huawei Ascend, napotkałem ten sam problem. Tym razem mam dokładną odpowiedź. Postępuj zgodnie z tymi instrukcjami (z odpowiedzi denispyra na Dlaczego logcat nie pokazuje niczego w moim Androidzie? )

Wybierz

*#*#2846579#*#*

i zobaczysz ukryte menu. Przejdź do menu Projekt> Ustawienia tła> Ustawienia dziennika i określ dostępność dziennika (przełącznik dziennika) oraz poziom (ustawienie poziomu dziennika).

A następnie ponownie uruchom telefon.

Należy pamiętać, że prawdopodobnie dotyczy to tylko telefonów Huawei.

Pamiętaj również, że jeśli korzystasz z tabletu Huawei (np. MediaPad M3), zamiast wybierać numer, uruchamiasz Huawei Kalkulator w orientacji poziomej i wchodzisz ()()2846579()().


29

Dla Huawei z systemem Android 8.0+

musimy wykręcić kod: *#*#2846579#*#*

a wybranie opcji AP Log wystarczy do wyświetlenia komunikatów w LogCat.

introducir la descripción de la imagen aquí


12

Jeśli ktoś ma telefon Letv (LeEco Le Max 2 lub 1) powyższe rozwiązanie nie zadziała. Wypróbuj poniższy USSD. Ryc.1 w celach informacyjnych.

Press Dialer *#*#76937#*#*

Wybierz „Włącz wszystkie dzienniki”

Ryc.1


To nie działa na telefonie Huawei ECO . Jakieś wskazówki? Model #: LUA-L23
charlesfranciscodev

@charlesfranciscodev próbowałeś # * # 2846579 # * # . Jak wspomniano w powyższej odpowiedzi
nitesh

Dzięki. Praca z LeECO x527
Aleksey_M

5

Poddałem się.

Log.d(TAG, msg);

Spróbuj tego.

Log.wtf(TAG, msg);

Pracuj dla mnie.


Dzięki, że zadziałało to dla mnie na telefonie Huawei ECO !
charlesfranciscodev

Log.wtf()jest zaprojektowany do całkowicie nieoczekiwanego stanu. To jest podobne do SEVERE. Z pewnością nieDEBUG
William

1
Xd myślę, że Log.e () / Log.w () / Log.i () też działają bardzo dobrze.
Fortran

3

Mam HUAWEI Y3 II aka LUA-L21 .

Odpowiedź Akceptowane nie dla mnie . Doprowadziło to do jakiegoś MTKLoggera ekranu ustawień , który różni się od opisanego w odpowiedzi i wcale nie pomógł.

Moje rozwiązanie

  1. Wybierz *#*#2846580#*#* (pamiętaj, że ten kod różni się od tego w zaakceptowanej odpowiedzi)
  2. Właśnie wszedłeś do ekranu ustawień o nazwie EngineerMode (znowu, inny niż w ProjectMenu zaakceptowanej odpowiedzi )
  3. Na pierwszej karcie Telefonia kliknij element Kontrola dziennika
  4. Aktywuj oba przełączniki (ustaw sterowanie Mtklog, aby przechwytywać wszystkie dzienniki i dzienniki radiowe adb, aby przechwytywać dzienniki radiowe przez adb )
  5. Powrót do poprzedniego ekranu, przesuń palcem do dziennika i debugowania karcie
  6. Otwórz narzędzia debugowania
  7. Zmień Debug Level z trybu użytkownika do Engineer Tryb
  8. Na wszelki wypadek uruchom ponownie telefon

Ekrany

Zmiana kontroli dziennika

wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj

Zmiana narzędzi debugowania

wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj

Dodatkowe uwagi

Tylko po to, aby wyjaśnić mój pierwotny problem; logcat pokazywał niektóre wpisy dziennika mojej aplikacji, ale nie własne komunikaty - widziałem wpisy należące do mojego procesu com.example.myapp, ale nigdy nic, co sam wydrukowałem, w swoim kodzie, używającLog.d("TAG", "hello world");

Takich rzeczy było mnóstwo:

4260-4270/com.example.myapp I/art: Debugger is no longer active
4260-4412/com.example.myapp I/System.out: [CDS]rx timeout:1
4260-4412/com.example.myapp D/NativeCrypto: doing handshake ++
4260-4603/com.example.myapp D/OpenGLRenderer: Flushing caches (mode 0)
4260-4603/com.example.myapp D/Surface:  Surface::disconnect(this=0xb85285d8,api=1)
4260-4260/com.example.myapp D/ActivityThread: ACT-STOP_ACTIVITY_HIDE handled : 0 / android.os.BinderProxy@2333cbdf

... ale nigdy czegoś takiego:

4260-4603/com.example.myapp D/MainActivity: hello from onCreate!

Powyższe kroki rozwiązały problem za mnie.


Dla Huawei CRO-L22 i niektórych innych Huawei z MTK działa kod trybu inżyniera # * # 14789632 # * #
Dmytro Turkov

1
Open your Dialer app and enter the following code: *#*#2846579#*#*.

    1-Enter the Background Settings page.
    2-Click on Log Settings
    3-Check all 3 options to enable full logging.
    4-Ignore the "will affect performance" warning.
    5-Reboot the phone.

1

Niektóre nowsze wersje telefonów Huawei (używam Y9s 2019) mają zmienione niektóre ustawienia.

Proces jest teraz

Wybierz * # * # 2846579 # * # *

Ustawienia tła -> Ustawienia AP LOG -> Otwórz.

Jeśli nadal nie widzisz dzienników, uruchom ponownie telefon i Android Studio / Eclipse


0

Spróbuj pobrać aplikację Logcat (np. ALogCat) na samo urządzenie i sprawdź, czy masz ten sam problem. Wiem, że nie jest to kompletne rozwiązanie, ale w ten sposób możesz dowiedzieć się, co się dzieje, czytając dzienniki aplikacji.


1
To nie działa w 4.xx i nowszych w przypadku dzienników systemowych, tylko w przypadku konkretnych dzienników aplikacji z READ_LOGSzestawem uprawnień - code.google.com/p/alogcat/issues/detail?id=41 .
g00dy,

-3

Spróbuj tego:

W edytorze Eclipse:

Zresetuj adb z Windows -> urządzenia, a następnie spróbuj ponownie ...

sprawdź, czy Twój projekt jest podświetlony na zielono (po prostu wybierz nazwę projektu)


1
Jak powiedziałem powyżej, używam logcat z wiersza poleceń lub IntelliJ. Nie używam Eclipse. Po drugie, jak powiedziałem powyżej, próbowałem już resetować adb (wiele razy).
William
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.