programing

Android 에뮬레이터:설치 오류: INSTALL_FAILED_VERSION_DOWNGRADE

kingscode 2022. 11. 8. 21:26
반응형

Android 에뮬레이터:설치 오류: INSTALL_FAILED_VERSION_DOWNGRADE

저는 현재 작은 안드로이드 애플리케이션을 컴파일하여 테스트하려고 합니다.

Eclipse를 사용하고 있으며 SDK 4.2(Api Level 17)가 설치되어 있습니다.설정했습니다.

<uses-sdk android:targetSdkVersion="17" android:minSdkVersion="8" />

다른 값(17/17)도 시도해 보았습니다.

Google API 기능을 사용하지 않으며 API 레벨 8에서 사용할 수 없는 기능도 사용하지 않습니다.적어도 컴파일 오류나 경고는 받지 않습니다.

Android 2.2.1을 실행하는 실제 장치에서 프로젝트를 컴파일하여 실행하면 응용 프로그램이 정상적으로 실행됩니다.그러나 Android 4.2를 탑재한 에뮬레이터(Android Virtual Device)에서 응용 프로그램을 실행하려고 하면 다음과 같은 오류가 발생합니다.

[2012-12-10 21:10:29 - SoftKeyboard] Installation error: INSTALL_FAILED_VERSION_DOWNGRADE
[2012-12-10 21:10:29 - SoftKeyboard] Please check logcat output for more details.
[2012-12-10 21:10:29 - SoftKeyboard] Launch canceled!

그러나 로그캣은 비어 있습니다.이 오류가 무엇을 의미하는지 정말 모르겠다...

이는 에뮬레이터에 이미 설치되어 있는 앱과 동일한 packageName의 앱을 설치하려고 하지만 설치하려는 앱의 versionCode(버전 번호의 정수 값)가 낮다는 것을 의미합니다.

버전 번호가 현재 작업 중인 버전 번호보다 높은 코드 복사본에서 설치했을 수 있습니다.어느 경우든 다음 중 하나입니다.

  • 현재 설치된 복사본을 제거합니다.

  • [설정(Settings)]> [ Manager)]를 번호를 (Settings)]> [어플리케이션 매니저(Application Manager)]를 .<manifest android:versionCodeAndroid Manifest 。

  • 또는 https://stackoverflow.com/a/13772620/632951 를 참조해 주세요.

이 때 ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ)를-d installadb 플래그를 합니다.을 사용하다

adb install -r -d abc.apk

먼저 에뮬레이터에서 응용 프로그램을 제거합니다.

adb -e uninstall your.application.package.name

그런 다음 응용 프로그램을 다시 설치해 보십시오.

이 문제는 프로젝트에서 XML 리소스를 사용하여 버전 코드를 설정했기 때문에 발생했습니다.

AndroidManifest.xml:
android:versionCode="@integer/app_version_code"

app.xml:
<integer name="app_version_code">64</integer>

은 이전 되지 .adb 「」의 시점에서는, 「」의platform-tools 이것은 정수로 되지 않습니다.r16 것 r r 、 r r r r r r r r r 。할 수 .adb -r또는 매니페스트에 리터럴을 사용하여 문제를 회피할 수도 있습니다.

android:versionCode="64"

이 문제는 Play 스토어에서 서명된 릴리스 APK 위에 디버깅/서명되지 않음APK를 설치하려고 할 때 발생할 수 있습니다.

H:\>adb install -r "Signed.apk"
2909 KB/s (220439 bytes in 0.074s)
        pkg: /data/local/tmp/Signed.apk
Success

H:\>adb install -r "AppName.apk"
2753 KB/s (219954 bytes in 0.078s)
        pkg: /data/local/tmp/AppName.apk
Failure [INSTALL_FAILED_VERSION_DOWNGRADE]

문제를 해결하려면 IDE를 제거한 후 다시 설치하거나 IDE에서 다시 실행합니다.

INSTALL_FAILED_VERSION_DOWNGRADE

모든 Android 앱에는 패키지 이름이 있습니다.패키지 이름은 장치에서 앱을 고유하게 식별합니다.packageName이 디바이스에 이미 설치되어 있는 앱과 동일한 경우 이 오류가 표시됩니다.

  1. 먼저 단말기에서 응용 프로그램을 제거한 후 새 응용 프로그램을 설치할 수 있습니다.
  2. 새 버전이 출시될 때마다 숫자를 1개씩 늘릴있습니다.

마시멜로에서 이런 오류가 발생했습니다.

Installation error: INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE
Please check logcat output for more details.
Launch canceled!

해결책을 찾다가 여기로 왔어요.앱을 삭제했는데도 Nexus6에 문제가 있어요.나중에 그걸 발견했는데

Settings > Apps > [My app name] have to removed for all user. 

sdk src 코드에 따르면...\android-22\android\content\pm\PackageManager.java

/**
 * Installation return code: this is passed to the {@link IPackageInstallObserver} by
 * {@link #installPackage(android.net.Uri, IPackageInstallObserver, int)} if
 * the new package has an older version code than the currently installed package.
 * @hide
 */
public static final int INSTALL_FAILED_VERSION_DOWNGRADE = -25;

새 패키지가 현재 설치된 패키지보다 오래된 버전 코드를 가지고 있는 경우.

저도 같은 문제가 있었어요.에뮬레이터가 아닌 안드로이드 기기에서 실행하려고 했을 때 오류가 발생했습니다.

sudo ionic run android 

실행함으로써 이 문제를 해결할 수 있습니다.

adb uninstall com.mypackage.name

해보세요.adb install -r -d -f your_Apk_path

나도 같은 문제를 겪고 있었다.를 인스톨 했습니다.

    adb shell pm install --user <userId> test.apk

무슨 이유인지 화면에 아이콘이 보이지 않았다.디버깅 빌드였고 다른 모든 연속 설치는 작동하지 않았습니다.패키지를 언인스톨 하는 것만으로 도움이 되었습니다.

     adb uninstall com.package.name

Android Studio 앱을 이클립스로 Import 했을 때 이런 일이 있었습니다.

안드로이드 스튜디오 프로젝트에서 Import 할 때 andoridmanifest.xml 파일을 약간 수정해야 한다는 것을 알았습니다.새로운 테스트 프로젝트를 만들고 제목에 맞게 복사했습니다. 음, 문제는 해결되었습니다.

이 오류는 여러 종류의 gfx 파일이 있는 Android 프로젝트에서 나타납니다.최종적으로 매니페스트 파일의 변경은 받아들여지지 않았습니다.

Android 기기에 대한 지식이 부족하기 때문에 테스트 기기에 두 번째 사용자가 있다는 것을 잊었습니다.이 사용자도 내 앱 버전이 설치되어 있기 때문에 이 사용자 계정의 앱도 삭제해야 합니다.

다음을 수행합니다.

  1. 이전 버전의 응용 프로그램을 제거하기만 하면 됩니다.
  2. 명령어를 재실행합니다.
  3. 즐기세요 :)

이 앱이 게스트 계정에 설치되어 있는지 몰랐던 것이 계속 신경이 쓰였습니다(다른 계정에 대해서는 언인스톨 했습니다만).

그래서 앱 매니저에서 앱을 검색해서 모든 사용자의 언인스톨을 클릭했습니다.

여기에 이미지 설명 입력

이전 APK를 제거하고 업데이트된 APK를 설치합니다.

실제 앱 버전 문제가 아니라 Google Play Services 종속성에 문제가 있을 수 있습니다.

다음과 같은 경우가 있습니다.

a) 기존 버전의 앱이 설치되어 있는지 여부, 최신 버전인지 여부 b) 기존 버전의 앱이 단말기의 다른 사용자 계정에 설치되어 있는지 여부

따라서 오류 메시지는 가짜입니다.

제 경우, 다음과 같은 점이 있습니다.

implementation 'com.google.android.gms:play-services-maps:16.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
implementation 'com.google.android.gms:play-services-gcm:16.0.0'

하지만 내가 노력했을 때

implementation 'com.google.android.gms:play-services-maps:17.0.0'
implementation 'com.google.android.gms:play-services-location:17.0.0'
implementation 'com.google.android.gms:play-services-gcm:17.0.0'

아직 AndroidX로 업그레이드하지 않았기 때문에 AndroidX 관련 에러가 발생하였습니다.최신 16.x.y 버전을 사용하면 동작하며 오류 메시지가 표시되지 않습니다.또, AndroidX로의 업그레이드는 나중에 할 수 있습니다.

implementation 'com.google.android.gms:play-services-maps:16.+'
implementation 'com.google.android.gms:play-services-location:16.+'
implementation 'com.google.android.gms:play-services-gcm:16.+'

디바이스에서 현재 apk를 제거한 후 실행합니다.

sudo adb uninstall com.package.name

이는 pc를 통해 apk를 제거하는 명령어입니다.

그런 다음 빌드 재시도

언급URL : https://stackoverflow.com/questions/13808599/android-emulator-installation-error-install-failed-version-downgrade

반응형