Я пытаюсь использовать Proot для достижения среды Linux в Android. Я установил TargetSdk на 28, чтобы получить разрешение на execve. Однако, когда я пытаюсь выполнить ProOT через процесс Scuilder, приложение замораживает и не возвращает ни одного вывода.try {
String alpineLinuxPath = getFilesDir().getAbsolutePath() + "/alpine";
String command =
getFilesDir().getAbsolutePath()
+ "/"
+ "proot-android-aarch64.tar"
+ "/"
+ "root"
+ "/"
+ "bin"
+ "/"
+ "proot-userland"
+ " "
+ "-w"
+ " "
+ "/"
+ " "
+ "-r"
+ " "
+ alpineLinuxPath;
List commandArgs = new ArrayList();
StringTokenizer tokenizer = new StringTokenizer(command, " ");
while (tokenizer.hasMoreTokens()) {
commandArgs.add(tokenizer.nextToken());
}
ProcessBuilder processBuilder = new ProcessBuilder(commandArgs);
processBuilder.redirectErrorStream(true);
Process process = processBuilder.start();
BufferedReader reader =
new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
StringBuilder output = new StringBuilder();
while ((line = reader.readLine()) != null) {
output.append(line).append("\n");
}
Log.d("proot", "Executing..");
process.waitFor();
Log.d("proot", output.toString()); // Output is never received
reader.close();
} catch (Exception ignored) {
}
< /code>
Я ожидал, что вывод, такой как "localhost $"
Я ждал некоторое время, но Proot продолжал замораживать. < /p>
Подробнее здесь: https://stackoverflow.com/questions/794 ... essbuilder
Proot замерзает при попытке запустить Linux в Android, используя процесс Scuilder ⇐ Android
Форум для тех, кто программирует под Android
1741537556
Anonymous
Я пытаюсь использовать Proot для достижения среды Linux в Android. Я установил TargetSdk на 28, чтобы получить разрешение на execve. Однако, когда я пытаюсь выполнить ProOT через процесс Scuilder, приложение замораживает и не возвращает ни одного вывода.try {
String alpineLinuxPath = getFilesDir().getAbsolutePath() + "/alpine";
String command =
getFilesDir().getAbsolutePath()
+ "/"
+ "proot-android-aarch64.tar"
+ "/"
+ "root"
+ "/"
+ "bin"
+ "/"
+ "proot-userland"
+ " "
+ "-w"
+ " "
+ "/"
+ " "
+ "-r"
+ " "
+ alpineLinuxPath;
List commandArgs = new ArrayList();
StringTokenizer tokenizer = new StringTokenizer(command, " ");
while (tokenizer.hasMoreTokens()) {
commandArgs.add(tokenizer.nextToken());
}
ProcessBuilder processBuilder = new ProcessBuilder(commandArgs);
processBuilder.redirectErrorStream(true);
Process process = processBuilder.start();
BufferedReader reader =
new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
StringBuilder output = new StringBuilder();
while ((line = reader.readLine()) != null) {
output.append(line).append("\n");
}
Log.d("proot", "Executing..");
process.waitFor();
Log.d("proot", output.toString()); // Output is never received
reader.close();
} catch (Exception ignored) {
}
< /code>
Я ожидал, что вывод, такой как "localhost $"
Я ждал некоторое время, но Proot продолжал замораживать. < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/79496215/proot-freezes-when-attempting-to-run-linux-in-android-using-processbuilder[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия