2

私は小さなprivate Androidアプリ(appceleratorを使って違いがあります)を作成し、署名されたapkファイルからデバイスにインストールしました。なぜ新しいバージョンのAndroid app apkが古いバージョンよりもインストールされないのですか?

私はアプリケーションにいくつかの変更を加え、更新されたバージョン番号で再パッケージ化しましたが、同じ証明書で署名しました。問題が発生したときに署名しました。

これを私のアンドロイドデバイスにインストールしようとすると、「インストールしているアプリケーションは別のアプリケーションを置き換える」が「以前のすべてのアプリケーションデータが保存されます」という警告が表示されます。私は交換に同意し、インストールが完了するまでエラーを出して「アプリケーションがインストールされていません」と言い、その他の詳細は表示されません。

オリジナルAPK内のバージョンのコードと名前は、次のとおり

アンドロイド:versionCode = "1" アンドロイド:versionName = "1.0"

及び第二のバージョンに

アンドロイド:versionCode = "2" android:versionName = "1.1"

私はこれで怒っているのですが、何が欠けていますか?

+1

は同じ鍵で署名されたアプリバージョンですか? – stefan

+0

デバイスをDDMSに接続して、すべてのアクションをやり直してください。Logcatから「アプリケーションがインストールされていません」よりも詳細なスタックトレースが得られるかどうかを確認してください。 – yorkw

+0

どうやら彼らは別の鍵で署名されている可能性が高いです。このシナリオでは、これはほとんどのデバイスでの動作と同じです。 – FoamyGuy

答えて

6

まず、ADBを使用して、あなたにアプリケーションをインストールしてみてください:

adb install -r /path/to/your.apk 

をそれが解決しない場合は、試してみてください。

adb shell pm uninstall -k com.your.package 
adb install /path/to/your.apk 

このアンインストールAPKを、そのすべてのデータを保持したまま。それをもう一度再インストールします。これも助けにならない場合は、少なくともadbは、トラブルシューティングがはるかに簡単なエラーコードを提供します。

+0

なぜadb経由で最初のパッケージをインストールしたのかが分かりませんでしたが、新しいバージョンが元のものの上に正しくインストールされるようになりました – Finglish

2

鍵の署名が異なる場合OPはすでに、彼らは以前のビルドよりも高いandroid:versionCodeを設定して言及しているが、あなたはその問題

1

を持つことができますので、この答えは私が持っている、彼らの特定の問題を解決することはできません私の場合には答えはandroid:versionCodeをインストールされたバージョンよりも高くすることでした。のみ/

0

をこの質問を見つけた後、あなたがリリースAPK

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=your_package_name &hl=en"))); 

と同じ鍵の署名であなたのロジックをチェックすると仮定し、これを考え出し、それはプレイストアで更新ボタンが表示されます。

関連する問題