2011-10-05 4 views
0
내 응용 프로그램이 작업을 수행하기 위해이 말에서 SU의 (뿌리 장치) 액세스 및 유일한 예를 요청할 필요가

: 괜찮지 만 어떻게 연결합니까이해 SU 요청

Process p = null; 
p = Runtime.getRuntime().exec("su"); 

그 무엇과 p- 과정 I 다음에하고 싶니? 예를 들어 그 프로세스를 사용하여 데이터베이스를 열면 데이터베이스 열기 시도가 루트 권한으로 발생합니다.

답변

0

이 토론을 참조하십시오 : Run secure API calls as root, android

기본적으로, 당신은 당신이 간부() 메소드로 호출 실행하고자하는 물건을 지정해야 할 것이다. 그렇게하기가 어렵 기 때문에 시스템 앱을 사용하는 것이 실제로 작업을 수행하는 가장 좋은 방법입니다. 실제 호출에 대한

는 코드에서이 작업을 수행 :

Process p = null; 
p = Runtime.getRuntime().exec("su sqlite3 your_query"); 
+0

여기에 보면'http://www.stealthcopter.com/blog/2010/01/android-requesting-root-access -in-your-app /''p '가 생성 된 후에 다음과 같은 일을 할 수 있음을 알 수 있습니다 :'DataOutputStream os = new DataOutputStream (p.getOutputStream());'그래서 어떻게하면 데이터베이스 예를 들어 액세스? –

+0

네, 당신이 할 수있는 한 가지는 입력을주고 프로세스에서 출력을 얻는 것입니다. 따라서 데이터베이스 쿼리를 수행하려면 다음과 같이 할 수 있습니다. DataOutputStream os = new DataOutputStream (p.getOutputStream()); os.writeBytes ("sqlite3 some_sql_query"); –

+0

사실, 다음과 같이하십시오. Process p = null; p = Runtime.getRuntime(). exec ("su sqlite3 your_query"); 그런 다음 출력 스트림을 읽습니다. –