Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 59, средняя оценка - 4.76
Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
#1

Как дать своему приложению привилегии Root? - Программирование Android

01.09.2013, 23:14. Просмотров 8796. Ответов 16

Нужно записать данные в файл, который имеет права доступа RW-R--R--, соответственно нужен рут. Следующий код не пишет в файл, получаю эксепшен на строчке.

Java
1
FileWriter fw1 = new FileWriter("/sys/class/leds/LED2_B/brightness");
Весь код программы:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package com.example.project_1;
 
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
 
public class MainActivity extends Activity {
 
    final String cmd = "su";
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); 
        try {
            Process c = Runtime.getRuntime().exec(cmd);
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        
        try {
            Thread.currentThread().sleep(10000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        writeFile();
        
        
    }
    
    void writeFile() {
 
        try {
            
            
            //FileWriter fw2 = new FileWriter("/sys/class/leds/LED2_B/led_current");
          
            FileReader fr = new FileReader("/sys/class/leds/LED2_B/brightness");
            char d = (char)fr.read();
            fr.close();
            FileWriter fw1 = new FileWriter("/sys/class/leds/LED2_B/brightness");
            fw1.write("240");
            fw1.close();
            
        } catch (Exception e) {
            e.printStackTrace();//  LED недоступно
            
        }
        
      }
 
 
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
}
Устройство рутованное, при выполнении "su" выскакивает запрос получения прав.

Добавлено через 1 минуту
Как вообще убедится в том, что приложению выданы права root?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.09.2013, 23:14
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как дать своему приложению привилегии Root? (Программирование Android):

Как реализовать дополнения к приложению - Программирование Android
Делаю игру по принципу викторины – вопрос-ответ. Допустим, сделал, выложил в плеймаркет. Как демо-версию. Потом дописываю еще...

Как получить доступ к root файлу - Программирование Android
Всем привет. Допустим есть файл, его не видно без доступа к root. Как получить к нему доступ и к примеру скопировать.

Как прикреплять к приложению два дополнительных файла? - Программирование Android
http://samsungu.ru/nws/zx1_3188.php Как загрузить на гугл плей прил размером в пару гигов?

Как подключить api сайта к приложению Android? - Программирование Android
Имеется api вида include ('engine/api/api.class.php'). Как мне подключить его в Eclipse и как в дальнейшем работать с ним? Требуется...

Как сделать скриншот экрана без прав Root-а? - Программирование Android
как сделать скриншот всего экрана без использования(getRootView()) без рут прав ??

Как отправить из одного приложения другому приложению широковещательное намерение? - Программирование Android
Имеется приложение 1, на котором размещен приемник. Также имеется приложение 2, которое хочет запустить приемник из приложения 1. Как это...

16
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.09.2013, 02:31 #16
http://stackoverflow.com/questions/1...te-permissions

Добавлено через 36 секунд
http://stackoverflow.com/questions/5...android-device

Добавлено через 1 минуту
если я правильно понял, в этих примерах меняют права файла в рантайме командой chmod прежде чем работать с ними.
0
Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
02.09.2013, 12:16  [ТС] #17
До такого я и сам смог додуматься... Но это как то странно... Можно еще через su, потом echo 123 > [путь] но это опять какой то танец с бубном. Разве никак нельзя сделать это средствами Java или хотя бы Андроид?
0
02.09.2013, 12:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.09.2013, 12:16
Привет! Вот еще темы с ответами:

Как назначить своему приложению входящие параметры? - C#
Всем добрый день!:) Допустим я собрал простенькое winForms-приложение C:\1.exe Хочу чтобы при ее запуске из cmd с параметром допустим...

.NET 4.x Как не дать стороннему приложению закрыть программу - C#
Что нужно сделать чтобы мою программу не закрывало левое приложение! Вообщем когда запускаю другое приложения, то моя программа...

Как дать права root для gedit? - Debian Linux
Добрый день. Я совершенно начинающий юзер Debian. Только-только его поставил. Установил Апач, ПХП, SQL. Пытаюсь редактировать файлы в папке...

Как выполнить событие в FormClosing и только потом дать закрыться приложению? - C#
Здравствуйте!Как выполнить какое либо действие в событии FormClosing до его стандартного закрытия? Т.е. допустим при клике на крестик мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru