Как мне заставить мое приложение читать системный файл в эмуляторе android? - PullRequest
0 голосов
/ 18 июня 2020

Я просто хочу скопировать файл «init.rc», который находится в «./int.rc», в android эмулятор API 28 (android 9). Поскольку у меня нет реальных устройств для тестирования , Я не знаю, есть ли разница между эмулятором и реальным устройством. Сначала я использую этот метод :

public static boolean exusecmd(String command) {
    String result = "";
    Process process = null;
    DataOutputStream os = null;
    try {
        process = Runtime.getRuntime().exec("/system/bin/sh");
        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 shellcommond(){
    exusecmd("su");
    exusecmd("mount -o rw,remount /");
    exusecmd("chmod 777 /");
    exusecmd("cp /init.rc /sdcard/init.rc");
    exusecmd("touch /sdcard/test.txt");}

, но только последнюю строку

Приложение было подписано системной подписью и было отправлено / system И android:sharedUserId="android.uid.system" был добавлен в androidmanifest. xml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...