Follow

If you think those pre-installed apps on your device would stay dormant if you'd never touch them, you're in for a surprise: run "adb shell dumpsys batterystats > battstats", open that file, read it bottom up.

I had a test device lying on my desk for a day. Just connected via USB for testing . No other use. Still: Google Photos had been running for 2h+, Contacts 3h+, Youtube 11.5h, Messenging 2.5h+, …

I wonder what they were doing WITHOUT THE USER. Especially YT and G Photos.

Wer glaubt, vorinstallierte Apps würden nicht laufen, wenn man sie nicht startet, könnte eine Überraschung erleben: Einfach mal "adb shell dumpsys batterystats > battstats" ausführen, und die Datei von unten nach oben lesen.

Ich hatte ein Testgerät auf meinem Tisch liegen. Nur per USB verbunden, um ADB Zugriff darauf zu geben. Nix weiter. Aber: Google Photos lief für 2h+, Kontakte 3h+, Youtube 11,5h, SMS 2,5h…

Fragt man sich, was die OHNE ANWENDER treiben. Besonders YT & G Photos…

Show thread

@IzzyOnDroid deine Beiträge in ehren, auch dieser hier...
aber warum in englisch?
gibt auch vielleicht menschen die dessen nicht ganz so sicher sind...
#android #Adebar

@papabjoern MT (wo mein Account ist) ist eine englisch-sprachige Instanz. Und bei Tech-Sachen tu ich mich mit Englisch leichter. Aber ich kann das natürlich gern nochmal auf Deutsch versuchen; bei "Kernthemen" (wie diesem) vielleicht generell eine gute Idee, Danke für den Hinweis!

@IzzyOnDroid OK, das deine instanz in englisch ist hatte ich so nich auf'm schirm... aber danke das man drüber reden kann..
hatte das hier auch schon anders...
generell finde ich deine arbeit gut und wichtig...

@papabjoern Danke! Deine Anregung war auch gut und richtig (habe den Toot gleich nochmal auf D abgesetzt). Und klar kann (und soll) man drüber reden! Kritik und Anregungen sind immer willkommen. Manchmal übersieht/vergisst man halt etwas. Nicht alles ist jedem offensichtlich. Wie getippst: Bei IT denke ich auf Englisch (und "vergesse" dann leicht, dass andere das nicht tun 😉)

Also bitte gern weiter so :awesome:

@IzzyOnDroid gruselige vorstellung... ich glaub mit meinem LOS ohne ggl bin ich gut bedient☝️
#android #Adebar

@papabjoern Das habe ich zum Glück auf meinen Geräten auch. Das Wiko (Android Go 8.1, stock) ist nur zum Testen. Sonst bekomme ich ja gar nicht mit, was die Bloatware so treibt.

Nebenbei: auf dem Teil hatten sich auch noch 3 (!) Facebook-Apps versteckt, bei denen ich mich nicht erinnern kann, sie in der Appliste auf dem Gerät gesehen zu haben. Gleich mal mit "pm uninstall --user 0" gespielt, brauchte eh ein paar Kandidaten für den Test 🤣 Prima geklappt.

So, und jetzt frag besser nicht nach Samsung… 🤢

@IzzyOnDroid meine Frau hat ein s8+...
ich darf da nich dran....🤷‍♂️

@papabjoern Dann schau mal auf pages.codeberg.org/izzy/adebar nach, da ist auch ein S7 dabei. Guck Dir mal die Liste der System-Apps an. Hab eine Tüte dabei, falls 🤢 kommt…

Das S5e sieht auch nicht besser aus. Gefühlt 80% der gelisteten Apps werden dem Anwender auf dem Gerät selbst gar nicht ausgewiesen – dort sah es (zumindest im App-Drawer) recht übersichtlich aus…

@IzzyOnDroid ich hab einigen leuten das s5 umgestrickt auf LOS16...
die waren positiv erschüttert wie lange der akku plötzlich hält und auch die gesamtperformance drastisch besser geworden ist☺️☺️

@d4m13n @papabjoern "-k" steht für "keep" – also nur die App deinstallieren, aber die Daten behalten (damit sie nach einer Neuinstallation wieder verfügbar sind). Sinnvoll, wenn man eine App (z.B. aus Platzgründen) TEMPORÄR deinstallieren will. Bei Bloatware eher nicht der Fall 😉

@IzzyOnDroid
Ach, spannend. Habe leider die Uhr vom Sperrbildschirm entfernt... Krieg ich wohl auch nicht wieder.

Wird Zeit, mein LOS startklar zu machen!

@papabjoern

@IzzyOnDroid Ist die Liste unter LOS äquivalent zur der Liste von Stromfresser-Apps (Settings -> Akku -> ... -> Akkunutzung)?

@sadmin Habe ich noch nicht verifiziert. Aber die sollte ihre Daten m.W. aus batterystats beziehen (nicht nur bei LOS).

Die Ausgabe von "dumpsys batterystats" ist nicht unbedingt auf Anhieb "einfach zu verstehen", und da steht noch einiges mehr drin (auch auf Zeitintervalle herunter gebrochen und mehr). Schau doch einfach mal drüber und vergleiche. Das Ergebnis würde mich dann auch interessieren :awesome:

@IzzyOnDroid Und... Wie mache ich daraus jetzt ne hübsche Tabelle: App zu Laufzeit? Ich hab da haufenweise Dupletten.

@sadmin Logo. Ist ja alles in verschiedensten Kontexten aufgeführt: Zeitintervalle (Tag, Woche, Monat), Ladeintervalle, etc pp. Ich wünschte man könnte das Teil überreden, JSON oder XML auszuspucken… So musst Du es halt zeilenweise einlesen, und dann die Einrückungen nutzen. Auf diese Weise erzeuge ich in Adebar ja auch die App-Listen.

@IzzyOnDroid "You can generate batterystats output in machine-readable CSV format by using the following command:"

adb shell dumpsys batterystats --checkin

@sadmin Cool! Und wie liest man das? Ich meine, ich kenne CSV – aber der Ausgabe fehlt der Header. Muss ich mir irgendwann mal in Ruhe anschauen. Und auch, ob sich das "--checkin" auch auf andere Dumps anwenden lässt :awesome:

@IzzyOnDroid +1d22h46m44s636ms (2) 032 +wifi_scan +job=u0a178:"com.amazon.mp3/com.amazon.music.push.PushRegistrationService"

Wifi-Scan bei der Amazon Music App. Klingt ja schonmal super.

@sadmin Heutzutage hat doch jede Taschenlampen-App "FCM Anschluss". Nach dem Sinn frage ich da schon lange nicht mehr.

Bei der Amazon Music App ist es ja noch recht einfach erklärbar: "Leute die diesen Titel gehört haben, hörten auch…" 🤪

@IzzyOnDroid Danke dafür, denn dumpsys war mir neu. Da kommt ja einiges an nützlichen Informationen raus, zum Beispiel nach etwas genau wie `dumpsys account` hatte ich letztens gesucht.

@IzzyOnDroid Ich frage mich das ja schon die ganze Zeit bei den Nutzungsstatistikdaten – die man immerhin noch sinnvoll anzeigen kann, abgesehen von der grottenschlechten API –, aber da sind jetzt noch weitere Daten, wo man sich fragen muss, warum das System das überhaupt sammelt… Dinge wie: ein Vibrationslog, der Log der angelegten Accounts, gelöschten Accounts und wann der Bildschirm dafür gestartet wurde…

@utf8equalsX in welchem Netzwerk Du wann eingeloggt warst, wo Du Dich wann aufgehalten hast… Vergiss die "unwichtigen" Details nicht. Und frag lieber nicht, was der "Heartbeat Service" von GMS (damit) tut…

@utf8equalsX Jupp, nicht nur das. Viele Details, die in seiner generierten Geräte-Doku ausweist (Beispiele unter pages.codeberg.org/izzy/adebar ) kommen daher. Probier einmal "adb shell dumpsys | egrep '^DUMP OF SERVICE'", da kommt einiges zusammen 😉 Interessant ist dabei auch die Ausgabe auf STDERR (was er nicht findet)…

@IzzyOnDroid Weißt du, dass man auch dumpsys -l zum listen machen kann? Das geht um einiges schneller

@utf8equalsX Ah, den hatte ich gerade gesucht und kam nicht drauf – Danke!

@IzzyOnDroid Ah, jetzt verstehe ich auch, was das für ein Tool ist, ich hatte es noch nicht so wirklich angeschaut!

Das wäre jetzt nämlich auch mein erster Gedanke gewesen, ob man nicht die Daten aus diesem dumpsys in einer Android-App irgendwie einigermaßen schön darstellen kann. Daten sichtbar zu machen, die schon da sind, finde ich toll, das mache ich auch in usageDirect schon.

@utf8equalsX Früher (bis ca. ICS) gab es Apps wie "LocationCacheViewer". Damals lag der Location-Cache als Datei vor. Dann verschwand er, und mit ihm die Apps. Bislang tauchte keine davon wieder auf, was ich schade finde. Mit "dumpsys location" ließe sich das sicher realisieren – und ggf. auch als .gpx exportieren…

@IzzyOnDroid Hmm, die Liste "Last Known Locations" ist bei mir leer – verschwindet sie vielleicht beim Reboot?

@IzzyOnDroid Inzwischen habe ich auch endlichen einen GPS-Fix… das sieht aber für mich erstmal nur nach jeweils einem letzen Standort pro Provider aus

@utf8equalsX Jupp. Nach meinen Notizen: "location listeners & providers, last known locations (passive, network)". War für Adebars Geräte-Doku weniger relevant, daher habe ich mir das nicht genauer angeschaut.

Jetzt muss ich aber erst einmal den nächsten Commit fertig bekommen, dann steht eigentlich v2.0.1 kurz bevor…

@IzzyOnDroid Hmm, dann ist das wohl kein so schöner log mehr, wo man gewesen ist…

An sich ist es einfach (wobei – mit dem im Hintergrund ausführen vielleicht nicht ganz so sehr), eine App mitschreiben zu lassen, wenn irgendeine andere App den Standort abfragt, aber das ist nicht so reizvoll wie Daten darzustellen, die schon ohne zutun gesammelt, aber nicht dargestellt werden.

@IzzyOnDroid Ich würde in meiner App aus Spaß jetzt Vibrationsstatistiken anzeigen, aber ich bezweifle, dass das jemand interessant findet :D

@utf8equalsX Eher nicht 🤣 Aber von den anderen Dingen ggf. schon. Eine generelle Übersicht, was so alles verfügbar ist, hätte etwas. Mit dem Hinweis, wer so alles darauf zugreifen kann. Dass vieles davon (Dank GMS) bei G landet, kann sich sicher jeder denken…

@IzzyOnDroid Was wäre da denn noch interessant? Netzwerk- und Batteriestatistik hat das System selbst ja schon dargestellt.

@utf8equalsX usagestats (app usage), wifiscanner (includes last-seen/used networks), content (?)… Den Rest müsste ich jetzt auch erst wieder durchprobieren, um etwas sagen zu können.

@IzzyOnDroid Bei wifiscanner geht der Log anscheinend 36 Stunden zurück, das kann man schon was draus machen, wenn man wissen will, in welchen Netzen man da war…

usagestats mache ich schon über die richtige API. Verstehe ich content richtig als Log von Account-Syncs?

@utf8equalsX Nicht geschaut, aber gerade an anderer Stelle einen Schreck bekommen: "dumpsys appops" sagt mir, dass der Wiko Sales Tracker (der angeblich nur einmal monatlich einen Ping nach Hause sendet, dass diese IMEI noch aktiv ist), seit 194h "RECORD_AUDIO" benutzt. Wartet der jetzt darauf, dass ich ihm die IMEI ansage? 🤯 Und wozu braucht er wohl dann READ/WRITE_EXTERNAL_STORAGE? Sicher nicht für die IMEI. Grmpf. Ich mach das Teil platt… 🔨 ☠️

@utf8equalsX Oh, nicht SEIT 194h sondern VOR 194h. Aber trotzdem, entspricht nicht der Packungsbeilage. Daher eine Leiche mehr im Keller.

Ist aber auch interessant zu wissen, welche App wann zuletzt was gemacht hat, oder?

@IzzyOnDroid Die Einstellungsapp kann das auch — dachte ich, aber es sieht so aus, als wäre das erst ab Android 10; ich weiß gerade nicht genau, in welchem Umfang das da dargestellt ist

@utf8equalsX Gut versteckt und umständlich zu bedienen, wenn man es denn findet. XPrivacy/XPrivacyLua zeigen das noch an.

Show more

@IzzyOnDroid Hierzu noch die Anektdote zur UsageStats-API: da gibt es häufiger auch offensichtliche Messfehler, wo eine App sowas wie 70 Stunden am Stück im Vordergrund gewesen sein soll, dabei an einem Tag dann eben 23:59:59.999. Das kann nicht stimmen, denn das zählt nur Vordergrund, da vergisst das System einfach, das "move to background"-Event aufzuschreiben.

@IzzyOnDroid Diesen Event-Log, der die letzten 10 Tahe umfasst, finde ich eine ziemlich krasse Datenmenge. Da sieht man genau, welche App wann auf- und zugemacht wurde und sogar wann das Gegrät gedreht wurde. Ich zeiche in usageDirect daraus einen Clock pie chart, und da könnte man sehr einfach unglaublich viel über das Leben der Nutzenden ablesen (Schlafrhythmus, wie konzentriert bei der Arbeit, wann frei, wann Feierabend, ob viel zu tun oder eher wenig…)

Show more

@IzzyOnDroid (das ist dieser "passive"-Provider, der vorhandene Daten liefert, aber nicht selbst dafür sorgt, dass Standortdaten erzeugt werden)

@IzzyOnDroid

Netterweise lässt sich ADB ja auch vom Gerät selbst auf `localhost` machen, wie ich mal mit dieser Sache probiert hatte (es gibt Libraries dafür, war nicht so schwierig): fosstodon.org/@utf8equalsX/104

In android11 wird es wohl auch in stock Android, nicht nur in Lineage, einen Toggle für ADB over IP in den Entwicklungseinstellungen geben (fosstodon.org/@utf8equalsX/104), dann könnte man so auch an die Daten aus dumpsys herankommen, ohne einen Rechner benutzen zu müssen.

@IzzyOnDroid
Hier wird mehr Aufklärung auch durch professionelle Journalisten benötigt. Die corona App schafft es ja auch mit jedem Bug in die Tagesschau.

@IzzyOnDroid
Dieses seltsame Verhalten der Software rund um die Smartphonebetriebsysteme muss analysiert werden und dann gehört das auch öffentlich diskutiert.

There is no need for this difficult road. Huawei lets you see the apps that are using battery life in the plain interface :-)
@IzzyOnDroid does it happen even if you 'Disable' those apps in the apps menu?

@wyatwerp Seemingly not. I've just checked for the 3 disabled apps on the test device, no mention in battery stats. But 3 is too small a sample to say for sure. As is a device just lying still on a table (not being in daily use). Though G Music being one of the 3 and not popping up makes me confident 😉

Sign in to participate in the conversation
Mastodon for Tech Folks

This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either!