私はここで公開されている Android オープン ソース アプリケーションを持っていますhttps://github.com/evilsocket/dsploit ... ダウンロード セクションでわかるように、ユーザーにプリコンパイルされた apk パッケージを配布しています。
このアプリは、非常に単純な自動更新エンジンを実装しています。
- 起動時に、利用可能な最新バージョンの文字列を含む github リポジトリ内のファイル VERSION をチェックし、それを実行中のバージョン名と比較します。
- リモート バージョン > ローカル バージョンの場合、アプリはリポジトリから新しい apk をダウンロードします。
問題は、インストール プロセスの開始時に次のことを行うことです。
Intent intent = new Intent( Intent.ACTION_VIEW );
intent.setDataAndType( Uri.fromFile( file ), "application/vnd.android.package-archive" );
intent.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
mContext.startActivity(intent);
次のエラー メッセージが表示されます。
An existing package by the same name with a conflicting signature is already installed.
eclipse で apk を作成するには、署名済みの apk をエクスポートし、バージョンごとに新しいキーストアを作成します...常に同じキーストアを使用する必要がありますか?
ありがとう