Az Android rendszer naplójában sok érdekes dolog található, amelyek sok szempontból hasznosak.
- kiváltó okok keresése problémák
- a nem megfelelően viselkedő alkalmazások azonosítása
Hogyan tekinthetem meg és vizsgálhatom meg az Android naplóját?
Megjegyzések
- A megjegyzéseket nem lehet kibővített vitára bocsátani; ezt a beszélgetést csevegésbe költöztették .
Válasz
Android 4.1 és újabb
Az előnyben részesített módszer az SDK letöltése és a adb logcat
(a ” fejlesztői opciók ” aktiválásához szükséges az eszközön).
Vannak elérhető alkalmazások a teljes rendszernapló megtekintése, azonban ezek csak gyökérzetű eszközökön működnek, vagy kézi parancs kiadására van szükség a adb
útján, hogy működjenek. További információkért lásd: ezt a kérdést.
Android 4.0 és régebbi
Vagy letöltheti a SDK , és használja a adb logcat
alkalmazást, vagy szerezzen be Logcat Extrem Google Play Áruház, amely közvetlenül a telefonján jeleníti meg a naplót.
Megjegyzések
- Alternatív megoldásként használhatja a Terminal Emulator parancsot a logcat > /sdcard/log.txt” a napló folyamatos írásához az SD-fájlba Kártya. Ez segíthet a véletlenszerű újraindítással kapcsolatos problémák kitalálásában.
- Jó pont. Egyes telefonok általában triviális információkkal töltik a naplót, ezért ha minimalizálni kívánja a fájlméretet és az átmenő adatokat, nézze meg a ” napló kimenet szűrése szakaszt ” itt: developer.android.com/guide/developing/tools/adb.html#logcat
- A LogCat alkalmazások nem ‘ nem működik anymory a JellyBean-nal. A Google megváltoztatta az Android API-t, az alkalmazások nem ‘ nem rendelkeznek többé engedéllyel a sajátjuktól eltérő alkalmazások naplóinak olvasására.
- Létrehoztam egy egyszerű segédprogramot a gyűjtéshez. naplók PC-ről: gist.github.com/hrj/5983971
- A Logcat Extreme a szép alkalmazás a napló megtekintéséhez
Válasz
Naplófájl helyei
Számos könyvtár található, ahol a naplók (beleértve az összeomlásokból származóakat is) megjelenhet – nem mindegyik szabványosított (azaz egyesek ROM-specifikusak lehetnek).
-
/data/anr
: Úgy tűnik, hogy néhány nyomfájl ideér (Dalvik veremnyomokat ír ide az ANR-re, azaz “Application Not Responding” más néven “Force-Close”; lásd például a naplórészleteket itt ) -
/data/kernelpanics
egy másik hely – Android-eszközeimen nem volt “kernelpánik”, ott még nem láttam tartalmat. - a
/data/panic/panic_daemon.config
más konfigurált helyekre mutathat – a 2. Droidomon megemlíti a/sdcard/panic_data/
- az említett Droid 2
/data/panicreports
könyvtárral is rendelkezik (itt üres) -
/data/tombstones
többtombstone_nn
fájlok (nn
sorozatszámmal, minden új fájl növekedésével). Mivel a sírköveket a halottak számára helyezik el, itt történik a “véletlenül elhunyt folyamatok” (azaz összeomlott) esetében – és ez az úgynevezett “core dump” a Linux / Unix rendszereken. Azonban nem minden alkalmazás hoz létre sírköveket; ezt a fejlesztőnek kifejezetten engedélyeznie kell (lásd: Az Android Core dumpok hibakeresése ).
i Úgy tűnik, hogy a /data/dontpanic
szabványos hely (AOSP), és tartalmaz néhány összeomlási naplót, beleértve a nyomokat is (lásd pl. viaForensics és Szent ackOverflow )
Lehet, hogy van még néhány hely, amely megszökött tőlem; de mivel a legtöbb naplózást tmpfs
készüléken hajtják végre, ezek az adatok újraindításkor elvesznek, és nem felelnek meg az OP-k kérdésének.
A terminálhoz használandó naplóparancsok alkalmazás (vagy adb)
Több parancs rengeteg információhoz juthat. Legtöbbjük számára azt javasoljuk, hogy irányítsák át őket egy fájlba (> filename.ext
), vagy húzzák át őket egy szűrőn (| grep search-for-this
):
Kernel napló
A következő root nélkül működik:
$ dmesg <6>[82839.126586] PM: Syncing filesystems ... done. <7>[82839.189056] PM: Preparing system for mem sleep <4>[82839.189361] Freezing user space processes ... (elapsed 0.05 seconds) done. <4>[82839.240661] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done. <snip>
Logcat
Itt pl adja meg, hogy melyik terület érdekli – rádió, események …
# logcat -b events I/am_create_service( 3457): [1085416560,nitro.phonestats/.widget.WidgetProvider4x1$WidgetUpdateService4x1,,3721] I/am_destroy_service( 3457): [1085416560,nitro.phonestats/.widget.WidgetProvider4x1$WidgetUpdateService4x1,3721] I/notification_cancel( 3457): [nitro.phonestats,4,0] <snip>
Eszközinformációk beszerzése
És rengeteg: Eszköz sajátosságok, számlainformációk, szolgáltatások …
$ dumpsys Currently running services: LocationProxyService SurfaceFlinger accessibility account activity <snip> DUMP OF SERVICE account: Accounts: 1 Account {[email protected], type=com.google} <snip> $ dumpstate ======================================================== == dumpstate: 2012-08-18 23:39:53 ======================================================== Build: Gingerbread GWK74 - CyanogenMilestone2 Bootloader: 0x0000 Radio: unknown <snip> ------ MEMORY INFO (/proc/meminfo) ------ MemTotal: 487344 kB MemFree: 10436 kB <snip>
Többfunkciós készülék
Készítsen egy nagy labdát minden mellett, a logcattól a dumpstateig:
$ bugreport > /mnt/sdcard/bugreport.txt
Biztos vagyok benne, hogy valóban át akarod irányítani az utolsó parancsot … xD
Valami a jogosultságokról
PS: Természetesen ezekhez az információkhoz való hozzáférés root-t igényelhet, mivel a legtöbb forrás a belső tárhelyen található.
Megjegyzések
- Az adb logcat parancsok további betekintéséhez lásd itt .
- Vagy csak ellenőrizze a naplózási tag-wiki @ tesztet – amely még több hivatkozással rendelkezik 🙂
- A ” Az Android Core dumpok hibakeresése ” halott, kaphatunk-e alternatívát?
- @Spidey there ‘ s mindig Archive.ORG ehhez a problémához (a hivatkozás egy működő példányra megy t itt).
- Bárki más számára, mint én, aki még nem ismerte az Android alkalmazást, a fenti parancsok futtatásához először futtatnia kell az
$ adb shell
parancsot, hogy csatlakozzon az eszközhöz. terminálon keresztül. (Természetesen ellenőrizze, hogy eszköze csatlakozik-e a számítógépéhez, és hogy be van-e kapcsolva az USB hibakeresés.)
Válasz
Megállapította, hogy a CatLog valamivel jobban megjeleníti az Android naplót, mint az aLogcat. A adb logcat
mellett ezt használom.
Megjegyzések
- Lásd a fenti megjegyzésemet, a LogCat alkalmazásokkal kapcsolatban.
- Frissítettem a kérdést. Felhívjuk figyelmét, hogy a relatív helyzetinformációk (pl. ” fent ” ) könnyen elavulttá válhat, mivel a válaszok sorrendje az idő függvényében változhat.
Válasz
A módszer root nélkül, amely még az új Android verzióknál is használható:
Előfeltételek:
- Linux, Windows vagy Mac
- USB-kábel az eszközhöz
- Android-eszköz
Utasítások:
- Telepítse az eszközillesztőt az adb használatához. Mindent megtalál, amire szüksége van: itt
- Töltse le az operációs rendszerhez futtatható adb futtatható fájlt. Ez az Android SDK része, de előfordulhat, hogy az adb futtatható fájlt külön is megtalálja.
- Csatlakoztassa androidos eszközét.
- Engedélyezze a fejlesztői beállításokat .
- Engedélyezze az USB hibakeresést.
- Nyisson meg egy parancssort (windows) vagy terminált (linux / mac). Hogyan kell csinálni: Windows rendszeren: Windows + r> írja be a “cmd” szót (idézőjelek nélkül)> kattintson az Enter | gombra Linuxon: Nem tudja, hogyan kell megnyitni egy terminált? LOL | Mac: Írja be a
Terminal
parancsot a Spotlightba, és nyissa meg - CD-t a könyvtárba, ahol a Az adb futtatható fájl található. Windows rendszeren: Lépjen abba a könyvtárba, ahová az adb futtatható fájlt letöltötte, a Shift + Jobb klikk és válassza az “Open Console” (vagy hasonló) elemet. Linux / Mac rendszeren: Kattintson jobb gombbal a könyvtárba, és válassza a “Terminál megnyitása itt” lehetőséget. (vagy egyszerűen CD-t a könyvtárba)
- Írja be a cmd / terminált:
adb devices
az eszköz megfelelő csatlakoztatásának ellenőrzéséhez. - Ha az eszköz megfelelően van kiválasztva, írja be a
adb logcat
parancsot a hatalmas és varázslatos logcat, vagyis a stacktrace megjelenítéséhez. - Reprodukálja hibáját (vagy bármi mást) az eszközén.
- Rögtön ezt követően illessze be a teljes cmd / terminál ablakot egy olyan beillesztési szolgáltatásba, mint a http://pastebin.com/ és küldje el nekünk.
(Többnyire a Leandrosból másolva )
An swer
A következő helyen található: /sdcard/bugreports
.
Megjegyzések
- I ‘ még soha nem volt ilyen mappám a telefonomon … ez egy gyártó vagy eszköz sajátja?
- id = “453d0aa8c5”>
Logcat – CyanogenMod Wiki : Varázslatos billentyűkombinációval hibajelentés-fájlt hozhat létre az / sdcard / bugreports fájlban. Tehát úgy tűnik, hogy ez ) egy kicsit specifikus (valószínűleg CM-re vonatkozik), és b) nem a válasz a kérdésre, mivel az OP az ” automatikusan generált ” egyesek.