開機後自動運行某個App

背景:某個設備,其開機後會自動運行一個App X,然後根據配置啓動默認App Y。我想實現讓App X我的App M。


嘗試一:Hack App X的配置,用我的App M替換App Y。

1、Apk逆向。主要用到ApkTool,參考:Android反編譯工具介紹與簡單實用方法

2、分析Smali代碼。參考:Android 反編譯 -smali語法

遇到App簽名INSTALL_FAILED_SHARED_USER_INCOMPATIBLE的問題

無解。放棄。

嘗試二:App Y運行後,運行我的App M。

1、創建一個BroadcastReceiver,監聽BOOT_COMPLETED。

參考:android如何實現開機自動啓動Service或app

2、如何查看當前APP打開的是哪個Activity

Windows下:
adb shell "dumpsys window | grep mCurrentFocus"
此時你會看到你要的包名和activity名。


Linux下只需把那個adb語句的雙引號去掉就行

3、調試:在命令行中通過adb shell am broadcast發送廣播通知

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n [package name]/.[receiver name]

以上命令行改自Android adb shell am broadcast: Bad component name的accepted answer部分。

 參考:在命令行中通過adb shell am broadcast發送廣播通知

結案。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章