2

私のAndroidアプリケーション内に、Webサーバーをチェックするサービスを作成しました。新しいバージョンのアプリケーションが見つかると、アプリケーションが更新されます。 しかし、プライベートバージョンをアンインストールするまで、インストールできないか、インストールが失敗します。

私の新しいバージョンのインストールコードは次のとおりです。

Intent promptInstall = new Intent(Intent.ACTION_VIEW);          
promptInstall.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() +"/apks/PHS_TKS_v3.apk")), "application/vnd.android.package-archive");
promptInstall.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(promptInstall);

マニフェストのユーザー権限は次のとおりです。

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_OWNER_DATA" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
    <uses-permission android:name="android.permission.RESTART_PACKAGES"/>

同じバージョンではない新しいバージョンのapkをインストールしようとしています手動でインストールした場合、古いバージョンがインストールされている場合はインストールされません。

4

1 に答える 1

1

「競合する署名を持つ同じ名前の既存のパッケージが既にインストールされています」というエラーメッセージは、アプリケーションが既にインストールされているが、別の署名でビルドされたことを意味します。Eclipse でビルドおよびデバッグを行っていた場合は、デバッグ キーまたはテスト キーを使用して APK を携帯電話にプッシュしました。アプリをアンインストールしてから、カスタム キーストアを使用してビルドされたバージョンをインストールする必要があります

于 2012-11-13T19:28:54.157 に答える