2012-07-06 2 views
3
process = Runtime.getRuntime().exec("su"); 
os = new DataOutputStream(process.getOutputStream()); 
os.writeBytes(command + "\n"); 
os.writeBytes("exit\n"); 
os.flush(); 
process.waitFor(); 

시스템은 말한다 :Android에서 "su"를 어떻게 실행합니까?

"07-06 11:01:34.337: I/System.out(3864): su: uid 10170 not allowed to su" 내가 내 터미널

:~/android/android-sdk/platform-tools$ ./adb root 

adbd is already running as root 

어떤 아이디어에서 "ADB 루트"를 실행?

+0

기기가 루팅 되었습니까? –

답변

1

adb가 루트로 실행되고 있지만 'su'도구 만있는 것 같습니다. adb를 사용하여 사용자 정의한 것으로 대체 할 수 있습니다.

사용자 정의가 있거나 사용자가 실행중인이 응용 프로그램 사용자 ID를 허용하지 않도록 구성되었습니다.이 경우 실행중인 구성 도구를 열고 변경해야합니다.

을 유의하시기 바랍니다 - 이것은 이전 질문에 대한 이전 답변입니다 - 기존의 su 일반적인 최종 사용자에 할 수있는 정지 이후 안드로이드는 SELinux를 채택으로 인해 빌드 여러 안드로이드 버전이었다. 해결 방법은이 질문의 범위를 훨씬 벗어납니다.

+1

죄송합니다. 영어가 능숙하지 않습니다. "재고품 도구"가 의미하는 것은 무엇입니까? 그리고 어떻게 주문을 얻을 수 있습니까? 전화가 루트가 아니면 –

+0

이 작동하지 않습니다. – JoxTraex

+2

@JoxTrax adb가 게시 된 메시지가 나타내는 것처럼 루트로 실행 중이면 전화가 루팅 된 것입니다 (즉, 사용자가 루트로 임의의 코드를 실행할 수 있음). 남아있는 것은 단순히 원하는대로 구성하는 것입니다. –

0

시스템에서 루트 권한을 거부당한 경우 장치를 루팅하는 것 외에도 할 수있는 일은별로 없습니다.

+0

사실 인 경우 true이지만 adb를 통해 이미 루트 액세스 권한을 갖고 있으므로 문제와 관련이 없습니다. –

관련 문제