Страница 1 из 1

Нужно изменить атрибут файла.

Добавлено: 28 июл 2013, 21:16
vis-vetal
Здравствуйте уважаемые форумчане, у меня тут появилась потребность разобраться в азах андроид программирования. Я пытаюсь написать простенькую программку которая через USB OTG и преобразователь PL2303 будет кидать данные. Взял отличный пример https://code.google.com/p/android-serialport-api/, всё красиво, всё работает, но не сразу. Как только подключаешь преобразователь к планшетнику (ainol elf2) и нажимаешь на кнопку передачи, он пишет мол нет доступа у вас к порту. Для того чтоб он дал доступ нужно прописать в консоли "chmod 777 ttyUSB0"(я так понял это означает поменять атрибуты файла ttyUSB0 на полный доступ для всех). Да вот незадача: как только отключаю преобразователь, этот файл стирается, и при следующем подключении приходится опять лезть в консоль.
Подскажите, пожалуйста, есть ли какая нибудь возможность автоматизировать эти действия, чтоб по нажатии на кнопку менялись атрибуты файла?

Re: Нужно изменить атрибут файла.

Добавлено: 29 июл 2013, 00:18
Finch
ну да, походу нужен рут доступ для этого, можешь в Process process = Runtime.getRuntime().exec("комманда");, а можешь библиоетку подключить https://code.google.com/p/roottools/
Загугли, инфы есть куча

Re: Нужно изменить атрибут файла.

Добавлено: 29 июл 2013, 07:06
vis-vetal
Спасибо, попробую.

Re: Нужно изменить атрибут файла.

Добавлено: 30 июл 2013, 07:19
vis-vetal
Пока не заработала. Программа запрашивает рут права, я подтверждаю, но еффекта это не даёт.

Re: Нужно изменить атрибут файла.

Добавлено: 30 июл 2013, 08:50
xr0m
Телефон то рутирован?

Re: Нужно изменить атрибут файла.

Добавлено: 30 июл 2013, 13:27
Finch
посмотри нужен ли ввобще рут доступ к ttyUSB0, просто ты пишешь в консоли "chmod 777 ttyUSB0" но без su, а это говорит о том что не нужен, если все же нужен то вот почитай тут например
http://stackoverflow.com/questions/6882 ... on-android
http://muzikant-android.blogspot.in/201 ... ecute.html

Re: Нужно изменить атрибут файла.

Добавлено: 31 июл 2013, 21:22
vis-vetal
Root права на планшете имеются. без "su" команда "chmod 777 ttyUSB" не работает, так что права требуются. Вписал в программу 2 действия подряд - вывести в командную строку сначала "su",а потом "chmod 777 ttyUSB". Повесил сразу после запуска, и дублировал на кнопку. Запускаю прогу, планшет запрашивает разрешение - значит команда "su" проходит. По всей логике и вторая должна пройти, но файл не меняет свойства. Я вот подумал, а какая команда меняет uid и gid файла? Может они помогут. Я поменял их через Total Comander на uid и gid программы, и всё заработало, до перекидывания преобразователя.

Re: Нужно изменить атрибут файла.

Добавлено: 01 авг 2013, 13:59
xr0m
Смотря как ты написал код, вторая команда ждет подтверждения на рут? Скорее всего нет, выполняется сразу, а рут права еще не полученны.

Re: Нужно изменить атрибут файла.

Добавлено: 01 авг 2013, 18:13
vis-vetal
Для этого я дополнительно повесил вторую команду на кнопку, но это тоже не помогло.