Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Мобильные ОС (Android, iOS, Windows Phone)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2013, 23:10   #1
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
Восклицание Рут в приложении

Всем привет. Вопрос такой пишу прогу под андроид на яве, нужно чтобы эта прога либо запускалась с правами рута либо получала их в процессе работы.
Рут нужен для редактирования конфига в системной папке....
Пробовал через рунтайм выполнить команду СУ, но приложение права так и не получило. Кто-нибудь знает как это делать?
Вариант запуск приложение через консоль не пойдет

Код:
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 com.example.project_1.apk"; char byt = (char) -127;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//final File sdFile2 = new File("/sys/class/leds/LED2_B", "led_current");
		//final File sdFile1 = new File("/sys/class/leds/LED2_B", "brightness");
		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 {
			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;
	}
}
Хакинг - не преступление, а способ выживания.

Последний раз редактировалось Ghost of Night; 01.09.2013 в 23:22.
Ghost of Night вне форума Ответить с цитированием
Старый 03.09.2013, 12:48   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Цитата:
final String cmd = "su com.example.project_1.apk";
Process c = Runtime.getRuntime().exec(cmd);
и что это за хрень? ты намеревался таким образом "запустить" апкшку?
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 04.09.2013, 00:31   #3
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

изначально там была просто команда SU... на экране выскакивал запрос рута, но дальнейшая работа проги была без прав рута...
Если я е правильно делал, подскажите как... Уже весь инет по этой теме перерыл
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 04.09.2013, 11:38   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

создаешь процесс su через ProcessBuilder, стартуешь его, получаешь потоки ввода/вывода, пишешь/читаешь команды. пример можешь посмотреть тут: https://github.com/SpazeDog/rootfw
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 05.09.2013, 17:23   #5
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

Ещё способы есть?
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реклама в приложении HDMI Общие вопросы по Java, Java SE, Kotlin 0 10.10.2012 19:21
fps в qt приложении Pixelrom33 Qt и кроссплатформенное программирование С/С++ 4 15.09.2012 11:42
Память в приложении Inv1s Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 26.01.2012 18:08
Iframe в Приложении DanzI Общие вопросы Delphi 15 14.09.2009 16:29
Звук в приложении Артэс Win Api 1 31.05.2008 20:52