2017-11-01 7 views
0

다음 코드를 사용하여 권한 거부 오류가 발생합니다.Android NDK에서 SADB를 설정하기 위해 커널과 통신하고 싶지만 권한 거부가 발생했습니다. 오류

if ((mSockFd = socket(PF_KEY, SOCK_RAW, PF_KEY_V2)) < 0) { 
       LOGE("IPSec Init : PF_KEY socket creation failed"); 
       LOGE("mSockFd : %d, Error no : %d",mSockFd,errno); 
       LOGE("Error String : %s",strerror(errno)); 
      } 

이 나는 ​​날이 문제를 해결 도와주세요 AndroidMenifest.xml

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

에 다음과 같은 권한을 추가했습니다.

PF_KEY는

답변

0

SOCK_RAW 타입의 소켓을 열려면 당신이 필요로 운영 시스템의 키 관리 내부와 통신하기 위해 신뢰할 수있는 특권 키 관리 응용 프로그램에서 사용하는 새로운 소켓 프로토콜 가족

루트 권한을가집니다. 모바일에서이 프로그램을 실행하려는 경우 전화가 루팅되어야합니다. 또는 Linux Machine에 구현하려고하면 쉽게 루트 권한을 얻을 수 있습니다.