Как использовать команды оболочки adb в C#
Привет всем
Я разрабатываю и приложение для android mobile forensic analysis.Я использую приложение c# windows forms для интерфейса моего проекта.Но мне трудно получить ответ команд из оболочки ADB на c#. Я закончил с некоторой работой, но я не в состоянии отображать информацию в listBox или listView в правильной последовательности. Я получаю информацию о файлах из оболочки adb, но не могу отобразить их в lisBox или ListView в правильной последовательности, например имя файла, дата создания, дата модификации.
Например
ls -l
возвращает информацию о файле следующим образом----rwxr-x system sdcard_rw 8414449 2013-07-12 18:04 Kalimba.mp3<br /> <br /> ----rwxr-x system sdcard_rw 280065 2013-07-12 18:03 abc.mp3<br />
Я хотел бы отобразить эту информацию в listView как и для всех файлов:
Права доступа к файлам расположение файлов дата создания имя файла
----rwxr-x sdcard_rw 2013-07-12 18:03 kalimba.mp3
и то же самое для всех других команд, таких как stat e-t-c
Любая помощь или ссылки будут оценены по достоинству
CHill60
Попробуйте опубликовать код, который вы используете для отображения информации в listBox или listView, и объяснить, какой должна быть правильная последовательность
Ghulam Ali
Система.Диагностика.Процесс Р = новая система.Диагностика.Процесс();
п. Информацию.Значение свойства useshellexecute = false в;
п. Информацию.CreateNoWindow = true;
п. Информацию.Имя файла = "cmd.exe";
pp.StartInfo.Аргументы = "/c adb shell ls -l /sdcard/music/";
п. Информацию.RedirectStandardError = истина;
п. Информацию.RedirectStandardInput = истина;
п. Информацию.RedirectStandardOutput = true в;
п. Начать();
Что streamreader outputWriter = стр. StandardOutput;
Строки errorReader = стр. StandardError.ReadToEnd();
String line = outputWriter.ReadLine();
while (line != null)
{
using (TextReader tr = new StringReader(str))
{
строки;
в то время как ((строка = тр.С readline()) != нуль)
{
String[] temp = строка.Расщеплять(' ');
мыши listview1.Предметы.Добавить(новый ListViewItem(temp));
}
}
строка = outputWriter.С readline();
}
Я хочу, чтобы что-то подобное было в моем listview в случае ls-l
FilePermission Filelocation, Который Дата Создания
права доступа rwx-- 07-03-2013 SD карту
и так далее для всех файлов и всех команд, я просто хочу, чтобы общий метод делал все это
Я могу отображать иногда, когда мне не нужно делать много расщепления, но когда мне нужно разделить строку с целью добавления их в listView, это не работает
AlphaDeltaTheta
Неправильный формат. Сначала взгляните на вывод команды ls. Позвольте мне немного объяснить. ls-это стандартная команда UNIX. Он выводит данные в следующем формате: [file-permission] [length] [last-modified] [name]. где разрешение файла-это (зашифрованное) строковое представление разрешений файла UNIX. Google для man-страниц ls или другой команды, которую вы хотите видеть.
Ghulam Ali
Да, у меня также есть тот же вывод для ls-l, но я хочу отобразить [file-permission][last-modified][name] в listView для каждого файла.
Независимо от того,какая команда используется и что выводится, мой вопрос на самом деле заключается в том, как я могу отобразить некоторые части выходной строки в виде списка для всех файлов с помощью split или какого-либо другого метода..