답변:
아니요. 앱 개발자에게 요청해야합니다.
UNIX와 같은 시스템에서 권한은 UID라고하는 것으로 관리됩니다.
모든 프로세스에는 하나가 있으며 액세스 할 수있는 대상을 지정합니다. 또한 회원이 사용할 수있는 권한이있는 그룹도 있습니다. 앱 Write to SD card
에이 권한이있는 그룹에 배치 된 것과 같은 권한이있는 경우
루트 권한은 앱의 매니페스트에서 선언되지 않고 코드에서 선언되므로 예외입니다. 루트는 그룹이 아니라 별도의 UID이므로 (별도의 사용자이므로) 앱에서 사용하기가 쉽지 않습니다. 루트 권한이있는 앱은 명시 적으로 작성해야합니다.
이것이 작동하는 방식은 앱이 루트로 무언가를 원할 때마다 su
바이너리를 대신 요청 해야합니다. su
그런 다음 이러한 권한을 관리하는 앱 (예 : SuperSU)에 앱이 루트 액세스 권한을 부여 할 수 있는지 묻습니다. 그렇지 않은 경우 허용 또는 거부하라는 메시지가 표시됩니다. 그런 다음 작업은 root
앱 사용자가 아닌으로 수행됩니다 . 이러한 작업은 앱의 필수 부분이 아니라 외부 실행 파일입니다.
이론적으로 이것을 앱에 추가하는 것이 가능하지만 이것은 Dalvik 가상 머신 (apk 파일을 실행하는 시스템의 일부) 인 Smali 코드 작성에 대한 지식이 필요한 사소한 프로세스 일 것입니다. smali. 그럼에도 불구하고 앱이 다른 앱의 액세스를 허용하면 보안상의 위험이 커집니다. 권한있는 루트 액세스를 일반 액세스와 분리하는 방법을 모를 것입니다. 따라서 실제로 이것은 실제로 실현 가능하지 않습니다.
su <app>
해당 루트 파일에 루트로 액세스하여 권한이 부여됩니다.
도움이 될만한 방법을 찾았습니다. 이것을 사용하여 Tasker에 루트 액세스 권한을 부여했습니다 .
터미널 에뮬레이터를 사용하여 다음을 사용하여 폴더에 대한 읽기 액세스 권한을 부여하지만
su
chmod 775 /location/of/folder/
그러면 텍스트 편집기에서 해당 디렉토리를 읽을 수 있으므로 폴더에 파일을 저장하려고하면 루트 권한을 요청하려고합니다.
쓰기 오류가 발생할 수도 있습니다.
/location/of/folder/
루트에서 최상위까지의 모든 디렉토리는 읽기 / 이동 가능해야합니다. 또한 SELinux는 액세스를 거부 할 수 있습니다. 따라서이 방법은 거의 실용적이지 않습니다.