静默安装系统签名的apk失败,返回INSTALL_FAILED_INVALID_APK,求助可能的原因?

apk本身属性有
android:sharedUserId="android.uid.system",
但是我已经拿到系统秘钥并给这个apk签名了

当我将apk push到机器里面并执行adb shell命令:pm install -r .apk 时能成功安装
但是当我执行如下代码段时会失败

                process = Runtime.getRuntime().exec("sh");
        dataOutputStream = new DataOutputStream(process.getOutputStream());
        String command = "pm install -r " + apkAbsolutePath + "\n";
        dataOutputStream.write(command.getBytes(Charset.forName("UTF-8")));
        dataOutputStream.writeBytes("exit\n");
        dataOutputStream.flush();
        process.waitFor();

失败代码就是INSTALL_FAILED_INVALID_APK

求大神指点

还是需要设备的root权限才能进行下去。。。静默安装的权限要求啊