3

私のプロジェクトでは、後で変更されたアプリケーションを作成しましたが、新しいアプリケーションをインストールしようとすると、アプリケーションの完全なアンインストールが求められます。以前のアプリケーションの署名を修正することはできませんが、以前のアプリケーションによって残されたデータを再利用するために同じことを行うことはできません。異なるアプリケーションの署名を修正することはできません。問題は、アンインストールせずにデバイスにインストールできますか。

I'm to retain application data

[2012-05-23 19:09:56 - iCam] Re-installation failed due to different application signatures.
[2012-05-23 19:09:56 - iCam] You must perform a full uninstall of the application. WARNING: This will remove the application data!
[2012-05-23 19:09:56 - iCam] Please execute 'adb uninstall iCam.Cam' in a shell.
[2012-05-23 19:09:56 - iCam] Launch canceled!
4

4 に答える 4

4

デバイスに既にあるものと同じ署名でアプリケーションをインストールする必要があります。

アプリケーションがデバイスにどのようにインストールされたかを確認する必要があります。少なくとも 2 つのオプションがあります。

  • Eclipse のデフォルトのデバッグ署名キーが使用されました ( androiddebugkeykeystore のキー~/.android/debug.keystore)
  • [ファイル] -> [エクスポート...] で他のキーストアが使用されました。

ディレクトリで生成されたバイナリを使用したbin(または Eclipse から直接 apk をインストールした) 場合は、デフォルトのキーストアが使用され、互換性のある apk を作成するには、最初の apk を作成したときにこの場所にあった同じファイルを見つける必要があります~/.android/debug.keystore。次にFile->Export...、このファイルを使用して選択します。パスワードを入力し、もう一度androidパスワードを選択androiddebugkeyして入力androidします。最後に宛先 apk 名を選択し、 をクリックしますFinish

以前の署名キーを見つけることができない場合は、次のことを試すことができます。

  • アプリケーションデータのバックアップ
  • アプリケーションをアンインストールする
  • 別の署名でアプリケーションをインストールします (これで成功します)
  • アプリケーション データをインストールします。

アプリケーション データのバックアップと復元は、TitaniumBackup アプリを使用して行うことができます。ルート化されたデバイスが必要になる場合があります。

于 2012-05-23T13:54:22.887 に答える
1

私も同じ問題を抱えていました。幸い、このアプリには「ファイルへ」のバックアップ機能がありました。同じ署名が必要です。Debug-Keystoreを使用していますか?これは、実際の使用には適していません。元の作成者が使用したのと同じDebug-Keyを使用する必要があります。

于 2012-05-23T13:53:25.587 に答える
1

// コマンド プロンプトから -r を使用してインストールし、データを保持して再インストールします。

adb install -r ./yourfolder/MyCam.apk

//adb インストール オプション

adb install [-l] [-r] [-s] <file> - push this package file to the device and install it
                                 ('-l' means forward-lock the app)
                                 ('-r' means reinstall the app, keeping its data)
                                 ('-s' means install on SD card instead of internal storage)
于 2012-05-23T13:48:41.697 に答える
1

最後のビルドに署名したのと同じ署名を使用する必要があります。Eclipse でデバッグ署名をリセットした場合、または新しいリリース キーでアプリに署名した場合は、更新できません。これを修正する唯一の方法は、前回署名したのと同じキーを使用することです。

ただし、DDMS では、SD カードからデータを取得し、アプリをアンインストールして再インストールし、データを元に戻すことができる場合があります。私はこれを試したことはありませんが、これが唯一の選択肢かもしれないと思います。

于 2012-05-23T13:48:57.217 に答える