2013-02-07 2 views
8

OEM이 시스템 이미지와 함께 설치하지만 나에 의해 서명 된 시스템 앱이 있습니다. 업데이트 된 APK를 시장에 올리면 마켓 앱이이 업데이트를 자동으로 설치합니까?플랫폼 서명이 있거나없는 Android 시스템 앱의 업데이트

내 시스템 앱이 대신 내 플랫폼 서명으로 서명 된 경우 모든 업데이트가 플랫폼 서명으로 서명되어야 함을 의미합니다. 맞습니까? 플랫폼에서 서명 한 apk를 시장에서 업데이트 할 수 있습니까?

답변

6

우선 모든 유형의 앱 간의 차이점을 명확하게 설명합니다.

시스템 앱은 /system/app 폴더에있는 앱입니다. 이러한 응용 프로그램에는 플래그 ApplicationInfo.FLAG_SYSTEM이 있습니다. 일반 장치에서는 파티션 /system이 읽기 ​​전용 액세스 용으로 마운트됩니다. 따라서 시스템 응용 프로그램은 읽기 전용 위치에 있기 때문에 업데이트 할 수 없습니다. 이러한 응용 프로그램은 OTA 업데이트의 일부로 만 업데이트 할 수 있습니다.

일반 응용 프로그램은 읽기/쓰기가 가능한/data 파티션에 있습니다. 따라서 이러한 응용 프로그램은 시스템에 의해 업데이트 될 수 있습니다.

이제 서명에 대해 이야기하겠습니다. 일부 Android 구성 요소는 서명 유형의 사용 권한으로 보호됩니다. 즉, 이러한 유형의 권한으로 보호 된 구성 요소에 액세스하려는 경우 응용 프로그램에 보호 된 구성 요소와 동일한 인증서로 서명해야합니다. Android 시스템뿐 아니라 Android 애플리케이션 (즉, 애플리케이션에서 서명 권한으로 보호 된 구성 요소를 가질 수 있으므로 동일한 서명이있는 애플리케이션 만이이 구성 요소에 액세스 할 수 있습니다)에 해당합니다.

귀하의 질문에 답하기 위해 필요한 세 번째 논문은 Android가 동일한 패키지 이름이지만 다른 서명이있는 패키지의 설치를 금지한다는 것입니다. 나는 OEM 시스템 이미지로 설치하는 시스템 응용 프로그램을

따라서

,하지만 은 나에 의해 서명됩니다. 업데이트 된 APK를 시장에 올리면 마켓 앱이이 업데이트를 자동으로 자동 설치합니까?

내 시스템 앱 대신 내 플랫폼 플랫폼 서명으로 서명 한 경우 플랫폼 업데이트 으로 서명해야합니다. 플랫폼으로 서명 한 apk를 시장에서 업데이트 할 수 있습니까?

대답은 없습니다./system/app에있는 응용 프로그램은 플랫폼과 다른 인증서로 서명 할 수 있지만 이러한 응용 프로그램의 업데이트는 시스템 업데이트에서만 가능합니다.

문제를 해결하려면 응용 프로그램의 패키지 이름을 변경할 수 있습니다 (응용 프로그램에 보호 된 Android 구성 요소에 대한 액세스 권한이 필요하지 않은 경우) 또는 플랫폼 (응용 프로그램이 보호 된 구성 요소에 액세스해야한다면 이 서명에 액세스 할 수 있음)이 애플리케이션을 시장에 출시하십시오. 그런 다음 시장을 통해 응용 프로그램의 업데이트를 받게됩니다.

+2

다른 답변은 해당 시스템의 응용 프로그램을 업데이트 할 수있는 표시/시스템/AP에서 하나와 일치하지 않는 업데이 트로 APK의/데이터/응용 프로그램을 취급하지 않습니다 시스템 : // 유래 .com/questions/7825045/can-a-system-app-be-updated.업데이트 된 apk는/data/app에 설치되며 시스템은 대신 해당 업데이트 된 버전을 사용합니다. 사용자는 잠재적으로이 업데이트 된 버전을 제거 할 수 있지만/system/app의 원래 버전은 제거 할 수 없습니다. –

+0

나는이 가능성에 대해 모른다. 그러나 응용 프로그램은/data/app 폴더에 설치되며 내 대답과 모순되지 않습니다./system 폴더는 시스템 업데이트로만 업데이트 할 수 있습니다. 어쨌든,이 질문의 명확성을 위해 당신을 감사하십시오! – Yury

+2

Google 앱이 시스템 앱 폴더에있는 경우에도 어떻게 업데이트 되나요? – amalBit

0

signatur 예에 http를 들어,