Warum entlädt ein verdächtiges Programm meinen Akku bei der GPS-Nutzung? [Duplikat]

  • Telefon: Nexus 5 Version 2013
  • Android-Version: 6.0
  • Kernel-Version: 3.4.0-g2aa165e
  • Build-Nummer: MRA58N

In den letzten Tagen hat 10118 den Akku meines Telefons entladen. Es entlädt die Batterie durch die Verwendung von GPS. Ich habe 'ps' in einen Terminalemulator eingegeben, und es gab keine Anwendung mit PID 10118. Ich weiß nicht, was genau 10118 ist. Ich vermute, dass es eine der kürzlich installierten Wetter-Apps ist.

Wie kann ich das beheben?

Bildschirmfoto Bildschirmfoto
Screenshots (Bilder anklicken für größere Varianten)

Das scheint mir die UID zu sein. Sehen Sie, ob Sie den zugehörigen Paketnamen finden können, indem Sie diesen als UID verwenden. Dies kann hilfreich sein: So erkennen Sie den App-Namen anhand der UID . Verwenden Sie außerdem einen Einfügedienst (z. B. Pastebin), um uns die Ausgabe von adb shell dumpsys batterystats. Sie müssten das Adb -Setup auf dem PC und das USB-Debugging auf dem Gerät aktivieren.
Bestätigt @Firelord: es ist die UID. Und alternativ zur Installation von ADB , wie von Firelord empfohlen, können Sie es auch dumpsys batterystatsvon einer Terminal-App aus versuchen.
@Izzy, ich habe auch über diese Empfehlung nachgedacht, aber die absolute Mindestberechtigung, die für den Zugriff auf einen Systemdienst erforderlich ist, ist ADB und die letzte ist root. Das hat mir mein Versuch im Terminal-Emulator gesagt.
@Firelord, darüber habe ich nachgedacht. Aber obwohl es eine Erlaubnis zum Sammeln BATTERY_STATS gibt, habe ich keine gefunden, um darauf zuzugreifen . Ich habe es auch nicht ausprobiert. Sie haben also und es hat nicht funktioniert ("Erlaubnis verweigert" oder ein anderer Fehler)?
Interessante Informationen. Ich denke, da hast du recht. Die richtige Ablehnungsnachricht, die ich erhalte, lautet, dass der Benutzer (Benutzer in der Terminal-App) nicht über die Berechtigung verfügt android.permissions.DUMP. Ich denke also, dass für die erfolgreiche Ausführung des Befehls zwei Berechtigungen erforderlich sind: die Berechtigung zum Dump und die Berechtigung zum Sammeln von Batteriestatistiken oder zumindest die erste für den Zugriff auf das Dumpsys-Tool.
Autsch. Sie haben absolut Recht, @Firelord: Das erfordert die Berechtigung DUMP, die Schutzstufe "Entwicklung" und (Zitat) "Nicht zur Verwendung durch Anwendungen von Drittanbietern". Eine Terminal-App, die darauf zugreifen dumpsysmöchte, müsste also zumindest vorinstalliert sein. Und ja, ich war hier blind: "Die mit dieser Berechtigung zugänglichen Informationen sind höchstwahrscheinlich mit denen vergleichbar, die vom Befehlszeilentool dumpsys abgerufen werden." (hier meine eigene Berechtigungsbeschreibung zitiert ;)
Das Faszinierende ist, dass Sie dumpsys problemlos alleine ausführen können. Sie erhalten den Fehler zu dieser bestimmten Dump-Berechtigung nicht. Alles, was passieren würde, ist, dass für jeden verfügbaren Dienst dort ein Fehler bei der Berechtigungsverweigerung angezeigt wird. Ich habe die com.android.terminalApp verwendet, um auf den Batterystats-Dienst zuzugreifen, und ich habe den Berechtigungsfehler wie beim Terminalemulator erhalten. @Izzy
@Firelord Die Ausgabe von 'adb shell dumpsys batterystats' befindet sich auf gist.github.com/crocket/1ac5999ef4679cbf542e Der Kern wird nach Wochen gelöscht.
'adb-Shell-Dumpsys-Paket | grep -A1 "userId=10118"' gibt keine Ausgabe zurück.
Interessante Ausgabe. Es gibt eindeutig eine App oder zumindest eine Benutzer-ID 10118. Sehen Sie sie in der Ausgabe, indem Sie suchen u0a118. Sag mir, hast du Root-Zugriff? Wenn Sie mir das sagen, geben Sie bitte die Ausgabe von adb shell dumpsys procstatsund an adb shell dumpsys location.
@Firelord Adb Shell Dumpsys procstats: dpaste.com/2DVBP98 Adb Shell Dumpsys-Speicherort: dpaste.com/2GJ500A
Hmm, ich hatte erwartet, dass Procstats etwas Nützliches zeigen. Ich schätze, ich muss mit dem gehen, was der Ortungsdienst anzeigt. Ich weiß, dass die von mir gesuchte Klarstellung Sie nirgendwohin geführt hat, aber könnten Sie, wenn möglich, die separate Ausgabe für adb shell dumpsys package kr.co.kweather, adb shell dumpsys package com.google.android.dialer, adb shell dumpsys package com.aws.android, , bereitstellen adb shell dumpsys package com.wisemobile.openweather?
Nur Dialer hatte Ausgang. dialer : dpaste.com/1C2R76P Ich glaube, kweather und openweather wurden in der Vergangenheit gelöscht.

Antworten (1)

Es ist die UID einer entfernten App.

Für eine solche Zahl wie 10118 ist es die Unix-UID für eine Benutzer-App ( u0_a118).

Es muss eine leistungsintensive App wie ein großes Spiel gegeben haben, und Sie haben sie deinstalliert . Dann bleibt nur noch seine UID übrig, die beim Systemlogging verwendet wird.

Android protokolliert nicht per App (für Benutzer-Apps), sondern stattdessen seine UID. Wenn Sie also den Akkuverbrauch anzeigen, teilt Ihnen Android die Liste nach Prozess-UIDs mit, die eine enthält, der keine App zugeordnet ist. Android kann nicht bestimmen, für welche App diese UID bestimmt ist, also gibt es Ihnen die UID direkt, und das ist die Nummer, die Sie sehen.

Wenn es sich um eine entfernte App handelt, sollte ein Neustart des Geräts den Vorgang beenden.