2012-03-20 3 views

답변

29

http://developer.android.com/guide/topics/manifest/manifest-element.html에서 두 개 이상의 응용 프로그램 사이 등을 처리합니다

이 당신이 그것을 사용하는 방법입니다. =

공유 :

LOCAL_CERTIFICATE가, 추천의 AndroidManifest.xml에

manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    android:sharedUserId="android.uid.shared" 
android:sharedUserLabel="@string/sharedUserLabel" 

정의하고 앱 등에 Android.mk에서 공유 매개 변수를 정의한다

희망이 당신에게 ..

+3

Android.mk는 어떻게 수정합니까? 그 파일이 무엇인지에 대해 알려주는 참조를 보지 못했습니다 ... –

+3

@IgorGanapolsky Android.mk는 Android NDK (C/C++) 용 메이크 파일입니다. 앱이 Java 만 사용하는 경우 앱이 없습니다. – Hartok

+3

올바르지 않습니다. 이 파일은 AOSP의 일부로 빌드되는 모든 응용 프로그램에 필요합니다. 자바 만 포함. – RocketRandom

28

기본적으로 Android는 사용자 ID를 애플리케이션에 할당합니다. 이는 응용 프로그램의 고유 ID이며이 ID를 가진 사용자를 제외하면 아무도 응용 프로그램의 자원에 접근 할 수 없음을 의미합니다. 다른 응용 프로그램의 데이터에 액세스하거나 현재 프로세스에서 실행할 수 없습니다. 액티비티에서 다른 애플리케이션의 액티비티가 호출되면 안드로이드는 컨트롤을 호출 된 새로운 액티비티로 전달하고 완전히 다른 프로세스에서 실행됩니다.

그러나 매니페스트 파일에서 애플리케이션의 사용자 ID를 명시 적으로 식별 할 수 있습니다. 둘 이상의 응용 프로그램에 대해 동일한 사용자 ID를 선언하면 서로의 자원 (데이터 필드, 뷰 등)에 도달 할 수 있습니다. 다른 응용 프로그램의 데이터를 표시하거나 프로세스에서 실행할 수 있습니다. ,의 sharedUserId가 데이터를 공유하는 데 사용됩니다

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="string" 
    android:sharedUserId="string" 
    android:sharedUserLabel="string resource" 
    android:versionCode="integer" 
    android:versionName="string" 
    android:installLocation=["auto" | "internalOnly" | "preferExternal"] > 
    . . .</manifest> 
+32

중요한 addi 동일한 shareduserid로 두 개의 응용 프로그램 만 설치할 수 있다는 것은 응용 프로그램이 모두 동일한 인증서로 서명되었음을 의미합니다. – njzk2

+1

장치에 동일한 sharedUserId를 가질 수있는 응용 프로그램의 수는 얼마입니까? 장치에서 동일한 userId로 다섯 개의 응용 프로그램을 사용하는 경우 동일한 프로세스에서 실행되는 응용 프로그램 성능에 영향을 줍니까? – pyus13

+1

@ pyus13 나는 그들이 같은 과정에서 강요당하는 것을 믿지 않는다. 그렇게하고 싶다면 그것은 단지 선택 사항입니다. –

관련 문제