[英]Android - uninstall other system app as system app
我的應用程序在自定義AOSP映像上作為系統應用程序運行。 我可以卸載/安裝從后端下載的其他APK。 但是,我無法卸載其他系統應用程序(這對我來說是一項硬性要求)。 我當前的機制是通過反射從Android軟件包管理器使用deletePackage機制:
val cPackageManager = Class.forName("android.content.pm.PackageManager")
cPackageDeleteObserver = Class.forName("android.content.pm.IPackageDeleteObserver")
deletePackage = cPackageManager.getMethod("deletePackage", String::class.java, cPackageDeleteObserver, Integer.TYPE)
deletePackage!!.invoke(context.packageManager, packageName, deleteObserver, DELETE_ALL_USERS)
有人知道如何實現我的目標嗎?
您是否不需要成為具有root用戶權限的設備才能卸載System apps
,還是找到了一種無需任何root用戶權限即可執行此操作的方法?
由於運行了SELinux,因此必須remount
系統,才能重新排列系統中的鎖定文件。
3.您可以在應用中運行此代碼
try{
Process su = Runtime.getRuntime().exec("su");
DataOutputStream outputStream = new DataOutputStream(su.getOutputStream());
outputStream.writeBytes("pm uninstall com.package.name");
outputStream.flush();
outputStream.writeBytes("exit\n");
outputStream.flush();
su.waitFor();
}catch(IOException e){
throw new Exception(e);
}catch(InterruptedException e){
throw new Exception(e);
}
如果pm uninstall
不起作用,請使用rm -rf path/deletefolder
然后重新啟動系統
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.