![](/img/trans.png)
[英]How to uninstall android app using adb commands in the app code itself?
[英]How to uninstall updates of an android system app through adb?
所以這是我的系統應用程序,我在它上面加載了另一個 apk。 是否可以通過 adb 卸載旁加載的 apk 並運行系統應用程序?
我嘗試了兩種失敗的方法。 我正在使用 4.4
一種。 從 /data/app 文件夾中刪除了旁加載的應用程序並重新啟動。 系統應用程序一直處於昏迷狀態。
灣 adb卸載(成功)並重新啟動。 同樣的結果。
這種稍微復雜的方法做到了。
將系統 apk 從 /system/priv-app/ 移動到 /sdcard/
亞行卸載
重啟
將系統應用程序從 /sdcard/ 移回 /system/priv-app/
重啟
我的問題是,有沒有一種直接的方法可以通過 adb 做到這一點?
由於您在頂部安裝了相同的軟件包(應用程序),因此 adb 軟件包管理器可能刪除了舊的系統應用程序(相同的軟件包名稱)。
您可以使用adb shell pm list packages
查看當前應用程序/ adb shell pm list packages
如果您有舊的 .apk ,您可以再次使用adb install -r <apk>
重新adb install -r <apk>
。 http://developer.android.com/tools/help/adb.html
如果您看到版本降級失敗,請嘗試使用-d
像這樣adb install -r -d <apk>
adb uninstall <package-name>
應該卸載系統應用程序的更新。 我可以確認它適用於 Android 12。
在 Android 設備上,系統應用程序安裝在只讀分區:通常是system
,但也可能是product
分區。
當這些應用程序接收通過Play商店中或其他simialr手段(而不是系統更新!)的更新,這些更新安裝到userdata
分區(讀寫)的分區。
adb unintall
簡單地刪除這些更新從這些更新userdata
的分區(顯然無法刪除從只讀分區的任何東西)。
另外,如果你“恢復出廠設置”您的設備,它會擦userdata
的分區,所以您的系統應用的“股票”的版本。
readonly
分區的注意事項 system
、 product
和其他一些分區在 Android 的user
版本上是readonly
的。
user
構建是您從商店購買設備時獲得的。
但是,您可以自己構建userdebug
或eng
變體,將其閃存到您的設備上,然后adb remount
在readwrite
adb remount
這些readonly
分區。 您可以在此處閱讀有關構建 Android 的更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.