2010-11-23 12 views
1

すべて 私のapkファイルをコードにインストールする際に問題があります。誰かが私が間違っていたことを知ることができたらどうかと思います。 私がしようとしていたのは、プログラムにCheck Upgrade機能を追加したことです。ユーザーがクリックすると、Webサーバーに要求が送信され、最新のバージョンが何であるかがわかります。私は、2010年11月23日のようなバージョンをスタンプするために、versionNameアプリケーションを使用します。私はManifest.xmlファイルでバージョンコードを使用しません。だから、私たちのプログラムは、最新のVersionNameが後でそのものよりも見て、それが最新のものをダウンロードし、新しいAPKファイルをインストールするには、次のコードを使用します。私はVersionNameを変更したときにAndroidのPackage Installerによるapkファイルのインストールに失敗しましたか?

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setDataAndType(Uri.fromFile(strNewAPKFile),"application/vnd.android.package-archive"); 
this.startActivity(intent); 

は今、毎回のように見えますapkファイルのインストールに失敗します。ファイルを正常にダウンロードします。なぜ私は正確に分からない。時々、Eclipsで、私がデバッグを打つと、「異なるアプリケーションシグネチャのために再インストールが失敗しました」というエラーが表示されることがあります。これが同じエラーでインストールが失敗したのかどうかわかりません。

  1. べきであるとアップグレードロジック作品:

    だから、私の質問がされているように見えますか?私はそれがVersoinNameと関係があるかどうか疑問に思います。

  2. アプリケーションの署名が変更される原因は何ですか? (私は私のサーバーに置く前に私のプログラムに署名しましたが、私はいつも同じversionのファイルに対して同じキーファイルを使います)。

すべての入力を歓迎します。

答えて

0

あなたが作成するたびに署名されます。 Eclipseで作成すると、自動的にデバッグキーで署名されます。コンピュータを切り替えると、別の鍵を持つことになります。署名のないアプリをエクスポートして独自のキーで署名すると、独自のキーが作成されます。各キーは互換性がなく、アプリをアンインストールして再インストールする必要があります。

+0

バージョンアップのために、私はEclipseからエクスポートしながら、自分のキーで署名します。だから、おそらく、それは同じ鍵を持つべきです。 – user518138

+0

まあ、ある時点で別の鍵を使用している場合、そうでないとエラーメッセージが表示されません。あなたが "デバッグ"を押すと、それはデバッグキーで署名されるので、それは別のキーです。 – EboMike

+0

ha、ありがとうマイク、そうです。デバッグでは、独自のデバッグキーを使用しています。私のアップグレードの部分は、私はいつも自分の鍵を使用する場合、それは正常に動作しているようです。 – user518138

関連する問題