2016-05-12 74 views
3

是否有可能在後臺運行應用程序並偵聽其他應用程序在設備上崩潰的應用程序?
我希望我的應用在檢測到我在設備上使用的應用崩潰或停止時通知我的計算機。如果是的話,它也需要聽取嗎?Android應用程序偵聽設備上是否有其他應用程序崩潰

+0

不,我不認爲這是可能的。 – Karakuri

+0

如果使用Cyanogenmod(可能是根源),請看CM Bug Reporter:https:// github。com/CyanogenMod/android_packages_apps_CMBugreport –

回答

-2

當您上傳您的APK在Android開發者控制檯,您有任何選項,包括錯誤的選擇,那麼當應用程序在某些設備崩潰,他們可以發送報告,你將可以看到它在德控制檯...

+0

確實,是否有可能通過Android Studio上的控制檯而不是通過另一個應用程序查看應用程序的崩潰?所以我有一個應用程序在我的設備上運行,當它檢測到一個錯誤/崩潰/它通知計算機 – Emil

+0

這是爲應用程序本身,而不是其他應用程序 –

+0

@TimCastelijns是的,我能找到那,這就是爲什麼我發佈這和希望我能找到一種方式爲其他應用程序:/ – Emil

0

我想你想創建三星的智能應用程序管理器。跟蹤所有應用程序的崩潰並顯示通知以卸載應用程序或刪除。

從Android電子文檔:默認情況下,系統分配的每個應用的唯一 Linux的用戶ID(ID是該系統僅用於和是未知的 應用程序)。系統爲應用程序中的所有文件設置權限,以便僅分配給該應用程序的用戶ID可以訪問它們。

每個進程都有自己的虛擬機(VM),所以應用程序的代碼與其他應用程序隔離運行 。

默認情況下,每個應用程序都在其自己的Linux進程中運行。 Android在啓動 時需要執行任何應用程序的組件,然後 關閉不再需要的進程或系統 必須爲其他應用程序恢復內存。

每個Android應用程序都與其他應用程序隔離運行。所以任何應用程序都無法跟蹤其他應用程序的崩潰日誌。

問題是:三星的智能應用程序管理器在做什麼。

我認爲三星智能應用程序只適用於三星的設備。 執行此類操作需要Root權限。三星的智能應用程序只有三星設備的root權限。

如果您正在開發定製ROM或Rooted android設備的應用程序,那麼您可以以其他方式無法完成。

1

一個非常黑客的方法是編寫一個監視Logcat的本地二進制文件,使用ADB將可執行文件上傳到您的設備並使用shell帳戶啓動它。請注意,這是而不是的應用程序。

Android shell用戶有足夠的權限查看所有進程的Logcat並執行網絡操作,因此您可以掃描Logcat以獲取指示應用程序崩潰的告警消息,然後從Logcat中抽出堆棧跟蹤,然後通過本地網絡發送到您的PC。

這實際上聽起來像一個很酷的想法。可能有一個去建設它自己:-)

+0

非常有趣!讓我看看這個。哈哈,如果你能在我之前做到這一點,請讓我知道,我只需要它在我的研究實驗室進行一個小實驗。我的計算機上的服務器正在工作,現在我正在調用這個服務器,我只需要找出一種方法讓它在應用程序崩潰時收聽......我也知道塔斯克(應用程序)可以做到這一點,但不知道如何它做到了 – Emil