需要在实现的app上加上 android.uid.system和系统签名,然后执行以下方法

private void silenceUninstall(String packageName) {
        try {
            PackageManager pm = this.getPackageManager();
            Method[] methods = pm!=null?pm.getClass().getDeclaredMethods():null;
            Method mDel = null;
            if (methods != null && methods.length>0) {
                for (Method method : methods) {
                    if (method.getName().toString().equals("deletePackage")) {
                        mDel = method;
                        break;
                    }
                }
            }
            if (mDel != null) {
                mDel.setAccessible(true);
                mDel.invoke(pm,packageName,null,0);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

此方法通过反射调用packagemanager的deletepackage方法实现