2017-02-24 1 views
0

데이터베이스의 업데이트를 위해 노력하고 있습니다. 새 버전은 ORMLite를 사용하므로 기기에 Playstore 버전이 있으며 데이터 이전 여부를 테스트하고 싶습니다. 야 작동, 그래서 난 내 장치를 연결하고 안드로이드 스튜디오에서 응용 프로그램을 실행하지만이 오류 얻을 : 응용 프로그램을 제거하는이 솔루션은 다음 새 버전을 설치하기 때문에Playstore 버전에서 AndroidStudio의 새로운 버전으로 INSTALL_FAILED_UPDATE_INCOMPATIBLE을 (를) 업데이트합니다.

Installation failed with message INSTALL_FAILED_UPDATE_INCOMPATIBLE. It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing.

WARNING: Uninstalling will remove the application data!

Do you want to uninstall the existing application?

this question에 대한 답변이 적용되지 않습니다를 . 이 질문은 설치 제거를 피하는 방법에 관한 것입니다.

+0

내 downvote가 아니지만 데이터베이스 버전이 변경 되어도이 문제가 발생하지 않습니다. DB 버전을 변경하면 앱이 올바르게 설치됩니다. – Sufian

+0

복제 - http://stackoverflow.com/questions/11891848/install-failed-update-incompatible-when-i-try-to-install-compiled-apk-on-device – Sufian

+0

APK가 없기 때문에 상황이 발생할 수 있습니다. 동일한 서명으로 서명되었습니다 (Play 스토어에서 앱을 설치하고 동일한 패키지 이름으로 디버그 APK를 설치하는 경우 발생합니다). 따라서 서명 된 APK를 설치해야합니다. – Sufian

답변

0

이것은 데이터베이스와 관련이 없습니다. 이는 이미 기기에 설치된 앱의 버전 번호보다 낮은 버전 번호가있는 .apk 파일을 설치하려고하기 때문입니다. 같은 애플리케이션 ID로

gradle.build 파일 (또는 사용자가 정의한 곳의 경우 AndroidManifest.xml)에서 versionCode을 늘리면 운영 체제에서 데이터를 지우지 않고 새 버전을 설치할 수 있습니다.

versionCode을 변경해도 문제가 해결되지 않으면 Sufian mentioned here과 같은 .apk 서명과 충돌 할 가능성이 큽니다.

Android Studio에서 'apk 생성'옵션을 사용하면 수동 방식 인 .apk를 사인하기 위해 키 저장소를 지정하라는 메시지가 표시됩니다.

주어진 풍미를 빌드로 실행할 때 키 저장소로 .apk에 자동으로 서명하도록 build.gradle 파일을 설정할 수 있습니다. 당신은 이것을하는 방법에 대해 읽을 수있다 here.

+0

동일한 오류가 발생했습니다 : versionCode 13 versionName "1.3"및 데이터베이스 버전 – Ben

+0

@Ben 서명 한 APK를 설치하려고 시도 했습니까? PlayStore에 업로드 된 APK에 서명하는 데 사용 된 것과 동일한 키 저장소를 사용해야합니다. – Sufian

+1

데이터베이스 버전은 중요하지 않습니다. 이것은 .apk와 관련이 있습니다. 코드는 실제로 실행되지 않습니다. Play 스토어 앱의 버전 코드가 무엇인지 알고 계십니까?versionCode가 아니라면 Sufian이 말하는 서명 문제 일 가능성이 큽니다. – DanielLaneDC

-1

이전 버전보다 새로운 버전을 설치하려고합니다. 따라서 먼저 이전 버전을 제거한 다음 새 버전을 설치하십시오.

또는

사용 OrmLiteSqliteOpenHelper.onUpgrade(...)는 이전의 버전을 확인하고 하나를 최근 두 버전에 대한 방법을 씁니다. 이렇게하면 데이터를 이전 할 수 있습니다.

+0

그게 내가 데이터를 마이 그 레이션 할 수있는 경우 문제가있어 ... – Ben

+0

데이터의 백업을 가지고 –

+0

그는 업데이트를 테스트하고 싶습니다, 그는 제거 할 수 없습니다. –

-1

같은 문제가 발생했습니다. 내 솔루션은 저장소에있는 버전에 해당하도록 DB 버전 번호를 줄이고 저장소에있는 버전이 아닌 현재 버전을 실행 한 다음 DB 버전 번호를 마지막 버전으로 업데이트하고 다시 실행하는 것이 었습니다. 이렇게하면 apk 업데이트가 완료되고 DBHelper의 onUpgrade() 메소드가 호출됩니다.

관련 문제