내 안드로이드 응용 프로그램을 업그레이드하는 동안 패키지 이름을 변경했습니다. 그러나 Android 마켓에서는 변경된 패키지 이름 애플리케이션을 업그레이드로 업로드 할 수 없습니다. 새 애플리케이션으로 애플리케이션을 업로드하면 사용자는 자신의 디바이스에 두 개의 애플리케이션을 보유하게됩니까? 패키지 이름 변경을 취소하지 않고 사용자가 다시 응용 프로그램을 다운로드 할 필요가 없도록하려면 어떻게해야합니까?업그레이드 된 Android 응용 프로그램의 패키지 이름 변경
답변
두 패키지 = 시장에서 2 가지 다른 응용 프로그램. 앱을 업로드 한 후에는 패키지가 동일해야합니다. 또한, 열쇠는 동일해야합니다.
Android 마켓은 소스의 실제 패키지 이름이 아닌 매니페스트의 패키지 이름에만 관심이 있습니다.
당신은 활동 (즉 .MainActivity)이 같이
대신 상대의 새로운 패키지 이름을 지정하기위한 다음, 매니페스트 속성에 이전 패키지 이름을 지정을 시도 할 수 있습니다 :
<manifest package="your.old.package" ...>
...
<application android:name="your.new.package.MainActivity" ...>
하는 일 수를 ..
나는이 방법으로 동일한 프로젝트와 코드를 사용하여 두 가지 버전의 내 앱 (유료/무료)을 제공 할 계획이다.
interesting !! 나는 내 다음 애플 리케이션을 시도합니다. – yogsma
당신은 정확합니다, Tapirboy. Android는 사용자가 액티비티 태그에 지정한 name 속성을 신경 쓰지 않습니다. 앱의 ID를 결정할 때 매니페스트 태그의 패키지 속성에만 관심이 있습니다. 매니페스트 태그의 패키지 속성이 변경되면 Android는 해당 변경 사항이 적용된 앱을 완전히 다른 앱으로 간주합니다. – Carl
매니페스트 패키지와 애플리케이션 이름이 다른 경우 이클립스 플러그인의 일부 문제를 모호하게 상기합니다. 이것은 더 이상 문제가되지 않을 수도 있지만,이 접근법을 사용할 때는 분명 Eclipse와 씨름해야했습니다. 그래도 1 년이 넘었습니다. – Jeff
패키지 이름을 변경하면 시장 에서뿐만 아니라 별도의 앱으로 취급되지만 apk는 일반적으로 동일한 패키지 이름을 '바꿉니다'(그리고 둘 다 동일한 키로 서명 된 경우에만)).
중급 패키지 with both keys에 서명하여 새 키로 단계적으로 이전 할 수는 있지만 현재 패키지 이름을 쉽게 단계적으로 비교할 수있는 방법은 없습니다.
- 새로운 APK 버전이 동일한 키로 서명되어 있지만, 다른 패키지 이름이 있습니다
할 수있는 최선은 이것이다.
- 새 apk를 설치하면
shared_prefs
을 이전 패키지 이름으로 사용합니다. - 데이터가 새 패키지 이름으로 복사됩니다.
- 새 버전에서는 이전 버전이 제거되고 사용자에게 제거 대화 상자가 표시되도록 요청합니다.
참고 응용 프로그램 데이터는 일반적으로 여기에 유지 :
/data/data/pac.kage.name/
나는이 시도하지 않은, 그래서 나는 더 이상 아직 자세히 설명 드릴 수 없습니다. 내 request for a seamless way of transitioning the package name에도 관심이있을 수 있습니다.
동일한 키를 사용했지만 처음 업로드 한 응용 프로그램의 패키지 이름이 다릅니다. – yogsma
주 패키지 이름을 변경할 수 없습니다. 그렇게하면 같은 앱으로 취급 될 수 없습니다. –
앱을 게시 한 후 패키지를 변경해야하는 이유가 확실하지 않습니다. 패키지 이름 변경에 대한 귀하의 결정을 재고해야합니다. 가능하지 않다면 기존 앱을 잊어 버리십시오 (그리고 시장 설명에 새 앱에 대한 링크를 넣으시겠습니까?). –