답변:
/system
루트가없는 읽기 전용이므로 /system/app
및 에서 응용 프로그램을 제거 할 수 없습니다 /system/priv-app
. 중요한 응용 프로그램은 제거 할 수 없도록 배치됩니다. 그들이 당신을 제거하고 싶지 않은 캐리어 bloatware도 있습니다. 루팅 된 경우 후자의 앱 카테고리를 제거 할 수 있습니다. 전자는 그렇게 많지 않습니다.
/system/priv-app
또한 설치된 앱이 signatureOrSystem
다른 권한 을 사용하도록 허용합니다. Stephen의 대답에는 몇 가지 예가 있습니다.
에 관해서는 왜 애플 리케이션이 중요 할 수도 있습니다, 그것은 ROM에 따라 달라집니다. HTC의 Sense는 예를 들어 내가 듣는 것의 내장 앱에 크게 의존합니다. 그들은 단순히 타사 앱과 기본적으로 작동하도록 시스템을 설계하지 않았습니다 (또는 시스템 앱이없는 경우 실패). 다른 앱은 본질적으로 Android OS의 일부이지만 Google은 앱 / 서비스로 코딩했습니다 (아마도 캡슐화 및 안정성 이유로).
Google지도와 같은 일부 시스템 앱의 업데이트는 Play 스토어를 통해 다운로드 할 수 있습니다. 기기에 시스템 앱으로 사전 설치되어 있지 않은 경우 티타늄을 사용하여 사용자 앱에서 시스템 앱으로 변환 할 수 있습니다.
다른 답변은 정확하지만 몇 가지 차이점을 지적하지는 못합니다.
시스템 앱에는 사용자 앱에서는 절대 사용할 수없는 특정 시스템 전용 권한을 요청할 수 있습니다. 이것은 root / sudo / su 권한과 동일 하지 않습니다 .
내가 알고 매일 사용하는 한 가지 예는 부재 중 전화 알림 카운터를 재설정하는 기능입니다. 주식 다이얼러 및 연락처 앱 (전화 통화 방법)을 대체하는 Go Dialer가 있습니다. 전화를 놓치면 Android에서 알림으로 알려줍니다. 그러나 Go Dialer는 앱을 설치할 때 해당 권한을 요청하더라도이 카운터를 재설정 할 수 없습니다. Android 2.2 및 이전 버전에서는 사용자 앱에서이를 재설정 할 수 있지만이 권한은 Android 2.3에 대한 시스템 전용 액세스 권한입니다.
Go Dialer 앱을 시스템 파티션으로 이동하면이 카운터를 재설정 할 수 있습니다. 앱에는 루트가 필요하지 않습니다 (물론 실제로 앱을 시스템 파티션으로 이동하는 경우는 제외).
다른 시스템 권한은 현재 GPS 위치를 설정하는 기능입니다. 이제 Android에는 모의 위치를 허용 할 수있는 환경 설정이 있으므로 설치 한 모든 GPS 스푸핑 앱이 GPS 위치를 선언 할 수 있습니다. 그러나 앱이 시스템 파티션에있는 경우 앱이 gps 위치를 스푸핑하는 동안 모의 위치를 비활성화 할 수 있습니다.
시스템 앱은 사용자 앱처럼 업데이트 할 수 있지만 업데이트는 원래 ROM에 통합되지 않습니다. 즉, 시스템 앱에는 ROM을 처음 설치할 때 존재했던 버전으로 롤백 할 수있는 고유 한 기능이 있습니다.
Android를 통해 사용자 user
는 내부 메모리에서 SD 카드 로 앱을 이동할 수 있습니다 . 시스템 앱은 이동할 수 없으며 항상 내부 공간을 차지합니다. 그러나 대부분의 (모든?) 장치에는 다른 파티션에 내부 사용자 응용 프로그램이 있으므로 시스템 응용 프로그램을 제거하면 더 이상 사용자 응용 프로그램 공간이 제공되지 않습니다 (달빅 캐시 제거 제외).
시스템 앱에 대한 업데이트를 제거하면 일부 공간이 복구됩니다. 언급 한 바와 같이, 업데이트는 ROM과 통합되지 않으므로 사용자 공간에 저장됩니다. 업데이트는 sd 카드로도 이동할 수 없지만 제거하면 사용자 공간이 복구됩니다.
캐주얼 한 안드로이드 사용자라면 시스템 대 사용자 앱이 차이를 낼 수있는 시나리오에 빠지지 않을 것입니다. 고급 사용자 인 경우 루트 권한이있을 수 있으므로 이러한 상황 중 하나가 발생하면 시스템 앱을 사용자로 변경하거나 그 반대로 변경할 수 있습니다.
sudo
과 su
동일하지 않습니다 - 적어도 유닉스와 리눅스.
sudo
sudo는 루트 권한을 su
요구하는 반면 단순히 사용자 전환을 요구하기 때문에 여기에서 더 적용 가능합니다 . su를 사용하려면 전환하려는 계정의 비밀번호 만 알아야합니다. 계정을 지정하지 않으면 루트 계정을 요구합니다. 그러나 Android에는 루트 암호 나 다른 계정이 없으므로 su
사용자가 루트 권한을 얻기 위해 터미널에서 실행하는 것으로 알려진 명령입니다.
su
일부 안드로이드 사용자가 루트와 동일하기 때문에 를 포함하도록 답변을 업데이트 할 것 입니다.
시스템 앱은 시스템에 포함 된 앱입니다. 그것들은 / system / app 폴더에 있습니다.
대부분의 경우 장치를 실행해야합니다. 이들 중 일부의 예는 모든 네트워크 연결을 설정하는 다이얼러와 인앱 웹뷰가 작동하지 않는 브라우저입니다.
위의 답변에 무언가를 추가하고 싶습니다. 시스템 앱은 사용자 앱과 달리 공장 출고시 완전히 삭제할 수 없습니다. 따라서 모든 개인 파일을 삭제하고 싶지만 너무 많이 삭제하여 공장 재설정이 가장 편리하고 유지하려는 앱이있는 경우 편리하게 삭제할 수없는 경우 해당 앱을 시스템 앱으로 변환하여 이길 수 있습니다. 공장 초기화 중에는 지워지지 않습니다.
시스템 앱의 또 다른 기능은 앱 전용 라이브러리 디렉토리 (예 : / data )가 아니라 공통 시스템 라이브러리 디렉토리 (일반적으로 / system / lib 또는 / system / lib64 )에서 기본 라이브러리 ( libsomething.so 파일)를 사용한다는 것입니다. /app/com.example.HelloJni/lib/arm ). Android Nougat 이전에는 사용자 앱에서 시스템 기본 라이브러리를 자유롭게로드하여 사용할 수있었습니다. 나중에 제한 사항이 적용되었습니다 . https://developer.android.com/about/versions/nougat/android-7.0-changes.html#ndk를 참조 하십시오 .