안드로이드 개발 노하우(부정기적 업데이트)

1. 패키지 이름, 서명, 데이터 공유 안드로이드 앱 서명은 앱이 악의적으로 덮어쓰거나 교체되는 것을 방지한다.모든 응용 프로그램에 유일한 패키지 이름이 있는데, 서로 다른 응용 프로그램을 구분하는 데 사용된다. 만약 패키지 이름이 같다면, 응용 프로그램은 덮어쓰고 바뀔 수 있지 않겠는가?Android 시스템은 서명 메커니즘을 사용하여 응용의 안전성을 확보했다. 앱을 설치할 때 시스템이 가방 이름이 같고 서명이 다르면 서명이 다르기 때문에 설치에 실패할 수 있기 때문에 사용자의 앱이 임의로 바뀌지 않도록 보장한다.만약 가방 이름이 다르면, 서명이 같으면 또 어떤 상황입니까?응용 프로그램을 설치할 때 안드로이드 시스템은 모든 응용 프로그램에 리눅스 사용자 id를 분배합니다. 안드로이드의 샌드위치 메커니즘은 이user id에 따라 서로 다른 응용 프로그램이 서로 다른 프로세스에서 실행되고 서로 간의 자원과 데이터를 공유할 수 없습니다.AndroidManifest를 통해xml의 manifest 탭은 서로 다른 패키지 이름의 응용 프로그램에 같은user id를 설정하여 같은 프로세스에서 실행하고 데이터 공유를 실현할 수 있습니다.예를 들면 다음과 같습니다.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.perseus.a"
      android:versionCode="1"
      android:versionName="1.0"
          android:sharedUserId="com.share">
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.perseus.b"
      android:versionCode="1"
      android:versionName="1.0"
          android:sharedUserId="com.share">

android:sharedUserId는 쉽게 얻을 수 있습니다. 안드로이드 시스템은 응용 데이터의 안전을 확보하고 현재 응용 데이터가 제3자에게 악의적으로 획득되는 것을 방지하기 위해com을 원합니다.perseus.a와com.perseus.b 서로 방문하려면 그들에게 같은 서명을 설정해야 한다.

좋은 웹페이지 즐겨찾기