Android 루팅 여부 체크

일반 디바이스는 ‘su’ 실행이 막혀있으므로, Root 권한이 획득 가능하면 루팅된 디바이스로 간주한다. 직접 ‘su’를 호출하여 정상적 실행이 되는지 확인한다.

public boolean isRooted() {
    boolean isRooted = true;
    
    try {
        Runtime.getRuntime().exec("su");
    } catch (Exception e) {
        isRooted = false;
    }
    
    return isRooted;
}

위 코드를 루팅된 디바이스에서 실행시, ‘Superuser’와 같은 어플리케이션이 설치되어 있다면 권한획득 다이얼로그가 뜨게 되며, 그렇지 않은 경우에도 Exception 없이 실행되는 것을 확인할 수 있다.

Tags:

Updated:

Comments