2017-02-24 14 views
0

私は新しいバージョンのORMLiteを使用しているので、デバイスのプレイストアバージョンを持っており、データの移行つもりな作品なので、私は自分のデバイスを接続するとAndroid Studioからアプリケーションを実行するが、私はこのエラーを取得:プレイストアのバージョンからAndroidStudioの新しいバージョンへの更新

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に署名するためのキーストアを割り当てることができます。

build.gradleファイルを設定して、特定のフレーバーをビルドとして実行するときにキーストアで.apkに自動的に署名することができます。あなたはこれを行う方法について読むことができますhere

+0

同じエラーが発生しました: versionCode 13 versionName "1.3"およびデータベースバージョン – Ben

+0

@Ben署名済みのAPKをインストールしようとしましたか? PlayStoreにアップロードされたAPKに署名するのに使用されたものと同じキーストアを使用していることを確認してください。 – Sufian

+1

データベースのバージョンは問題ではありません。これは.apkと関係があり、コードは実際にはまだ実行されていません。 Playストアアプリのバージョンコードが何であるか知っていますか?versionCodeでない場合は、Sufianが話している署名の問題になりそうです。 – DanielLaneDC

-1

古いバージョンより新しいバージョンをインストールしようとしています。 したがって、古いバージョンをアンインストールしてから、新しいバージョンをインストールしてみてください。

または

使用OrmLiteSqliteOpenHelper.onUpgrade(...) 1新旧のバージョンをチェックして、両方のバージョンのための方法を記述します。 これにより、データを移行することもできます

+0

それは私がデータを移行することができますアンインストールする場合、問題です... – Ben

+0

あなたのデータのバックアップを取る –

+0

彼は、更新をテストしたい、彼はアンインストールできません。 –

-1

私は同じ問題に直面しました。私のソリューションは、ストア上のバージョンに対応するようにDBバージョン番号を減らし、現在のバージョン(ストア上ではなく)を実行し、DBバージョン番号を最新バージョンに更新して再実行することでした。このようにしてapkの更新が行われ、DBHelperのonUpgrade()メソッドが呼び出されます。

関連する問題