android push文件到system/目录下

一直在应用层开发程序 ,遇到需要底层协助的,都是提供接口或者底层发广播上来 ,阴差阳错的从机器人公司跳到做TV项目的公司 ,现在在一个方案公司,应用层的工作比较少 ,就开始学一下底层的东西 ,刚开始有点吃力,不过还是挺好玩的 ,他们都说Linux系统好用 ,感觉除了快一点,讲真,WIndow系统还是好用一点

  不说废话了;push文件到system下面,也没有那么难,首先手机需要root权限 ,因为system文件路径仅支持读,如果需要写入文件的话,需要remount一下, 看代码 ,比较简单,一个工具类,用来执行cmd,

 
 
package com.adtv.util;

import android.util.Log;

import java.io.DataOutputStream;
import java.io.OutputStream;

public class RootCmd {

    /***
     * @param command
     * @return
     */
    public static boolean exusecmd(String command) {
        Process process = null;
        DataOutputStream os = null;
        try {
            process = Runtime.getRuntime().exec("su");
            os = new DataOutputStream(process.getOutputStream());
            os.writeBytes(command + "\n");
            os.writeBytes("exit\n");
            os.flush();
            Log.e("updateFile", "======000==writeSuccess======");
            process.waitFor();
        } catch (Exception e) {
            Log.e("updateFile", "======111=writeError======" + e.toString());
            return false;
        } finally {
            try {
                if (os != null) {
                    os.close();
                }
                if (process != null) {
                    process.destroy();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return true;
    }

    public static void writeFileToSystem(String filePath, String sysFilePath) {
        exusecmd("mount -o rw,remount /system");
        exusecmd("chmod 777 /system/media");
//        exusecmd("cp  " + filePath + " /system/media/bootanimation.zip");
        exusecmd("cp  " + filePath + " " + sysFilePath);
    }


}
主要打方法就是WriteFileToSystem .传入两个路径,
   1 :方法里面,第一行 获取读写权限

        2:给system/media 授权

        3:执行复制操作

 
 

猜你喜欢

转载自blog.csdn.net/fkgjdkblxckvbxbgb/article/details/80370356