2016-05-12 9 views
3

Ist es möglich, eine App zu haben, die im Hintergrund funktioniert und hört, wenn eine andere App auf meinem Gerät abstürzt?
Ich möchte, dass meine App meinen Computer benachrichtigt, wenn festgestellt wird, dass die App, die ich auf meinem Gerät verwende, abgestürzt oder angehalten wurde. Wenn ja, was müsste es auch hören?Android App, die zuhört, wenn andere Apps auf dem Gerät abstürzen

+0

Nein, ich denke nicht, dass das möglich ist. – Karakuri

+0

Wenn Sie Cyanogenmod (und vermutlich verwurzelt) verwenden, sehen Sie sich CM Bug Reporter an: https: // github.com/CyanogenMod/android_packages_apps_CMBugreport –

Antwort

-2

Wenn Sie Ihren apk in der Android-Entwicklerkonsole laden Sie irgendwelche Optionen Fehler Optionen, einschließlich, dann, wenn die Anwendung in einem Gerät abgestürzt können sie einen Bericht senden, und Sie werden können es in de Konsole sehen ...

+0

Das stimmt, ist es möglich, einen Absturz einer App nicht über die Konsole in Android Studio, sondern durch eine andere App zu sehen? Also habe ich eine App auf meinem Gerät laufen und wenn es einen Fehler/Absturz erkennt/notiert es den Computer – Emil

+0

dies ist für die App selbst, nicht für andere Anwendungen –

+0

@TimCastelijns ja, ich konnte das finden und das ist, warum ich gepostet habe dies und hoffte, dass ich einen Weg für andere Apps finden könnte:/ – Emil

0

Ich denke, Sie möchten Samsungs Smart App Manager erstellen. Diese verfolgen die Abstürze aller Anwendungen und zeigen eine Benachrichtigung an, um die App zu deinstallieren oder zu entfernen.

Von Android doc: Standardmäßig ordnet das System jede App eine einzigartige Linux-Benutzer-ID (die ID nur vom System verwendet wird, und ist nicht bekannt, auf den app). Das System legt Berechtigungen für alle Dateien in einer App fest, so dass nur die Benutzer-ID, die dieser App zugewiesen ist, darauf zugreifen kann.

Jeder Prozess verfügt über eine eigene virtuelle Maschine (VM). Daher wird der Code einer App unabhängig von anderen Anwendungen ausgeführt.

Standardmäßig wird jede App in einem eigenen Linux-Prozess ausgeführt. Android startet den Prozess, wenn eine der Komponenten der App ausgeführt werden muss, dann fährt den Prozess herunter, wenn es nicht mehr benötigt wird oder wenn das System Speicher für andere Anwendungen wiederherstellen muss.

Jede Android-Anwendung läuft isoliert von anderen Anwendungen. Daher kann keine App das Absturzprotokoll anderer Apps verfolgen.

Die Frage ist: Wie funktioniert der Smart App Manager von Samsung?

Ich denke, Samsung Smart App funktioniert nur mit Samsungs-Geräten. Root-Berechtigung ist erforderlich, um diese Art von Aktion auszuführen. Samsungs Smart App haben nur Root-Rechte in Samsungs Geräten.

Wenn Sie App für benutzerdefinierte ROM oder Rooted Android-Gerät entwickeln, können Sie andernfalls nicht tun.

1

Ein sehr hacky Weg wäre, eine native Binärdatei zu schreiben, die Logcat überwacht, laden Sie die ausführbare Datei auf Ihr Gerät mit ADB und starten Sie es mit dem Shell-Konto. Beachten Sie, dass dies nicht eine App ist.

Der Android-Shell-Benutzer genügend Berechtigungen hat Logcat für alle Prozesse anzeigen und Netzwerk-Operationen durchführen, so dass Sie nur Logcat für die verräterischen Nachrichten scannen könnten darauf hindeuten, dass eine App abgestürzt, Siphon die Stacktrace aus Logcat und dann Sende es über das lokale Netzwerk an deinen PC.

Das klingt eigentlich wie eine ziemlich coole Idee. Könnte es selbst ausprobieren :-)

+0

Sehr interessant! Lass mich einen Blick darauf werfen. Haha, wenn du es schaffst, es vor mir zu machen, lass es mich wissen, ich brauche es nur für ein kleines Experiment in meinem Forschungslabor. Ich habe den Server auf meinem Computer und die Übertragung funktioniert jetzt muss ich nur einen Weg finden, um zu hören, wenn eine App abstürzt ...... Ich weiß auch Tasker (die App) kann dies tun, aber nicht sicher, wie es tut es – Emil