静默安装 android 执行su后 无响应

本文主要探讨了在静默安装Android应用时遇到的su命令无响应问题,指出直接使用su命令并结合参数可以避免卡死。特别地,通过'su -c 'sh''的方式可以正确执行带命令的参数,同时也解决了文件名包含中文导致的静默安装失败问题。
摘要由CSDN通过智能技术生成

核心先贴出来,稍后总结


总之就是,不要用 

process = Runtime.getRuntime().exec("su"); // 切换到root帐号
os = new DataOutputStream(process.getOutputStream());
os.writeBytes(cmd + "exit\n"); 
os.flush();

的方式写入后续命令


su 本身就可以执行带命令的参数

su -c  ‘sh’

单引号把要执行的命令包起来

同时解决了网上的另一个问题:文件名是中文的话,静默安装就不能实现


下面是个例子:

package com.example.roottest;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;

import android.util.Log;

public class RootUser {

	private static RootUser mInstance = null;
	private Boolean hasSu = null;

	private static final String SU_BIN = "/system/bin/su";
	private static final String SU_XBIN = 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值