5

私のアプリケーションは、アプリケーションの新しいバージョンがあるかどうかを確認し (私のアプリケーションは Play ストアにありません)、apk ファイルを自動的に sdcard/download にダウンロードします。次に、インストールを開始したいと思います。次のコードを使用します。

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/download/" + "file.apk")), "application/vnd.android.package-archive");
startActivity(intent); 

しかし、「解析エラー:パッケージの解析に問題があります」というポップアップが表示されます

AndroidManifest に許可を入れました:

<uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
    <uses-permission android:name="android.permission.DELETE_PACKAGES"/>
4

3 に答える 3

2

同様のエラーメッセージがありました。私の問題の根本は、apkダウンロードしapplication datasdcard. に保存する/sdcard/myprog.apkことで、問題なくインストールを実行できました。

Web ブラウザーのダウンロードからインストールを機能させることができたので、それらのダウンロードがどこにあるのかを把握し、プログラムでダウンロードして同じ場所に保存することが問題でした。

私の更新プロセスには、次のことが非常に便利であることがわかりまし

于 2013-11-13T16:43:04.973 に答える
1

apk に破損したマニフェスト ファイルがある場合、ファイルを手動でインストールできますか。パッケージの解析中にエラーの問題が発生します。ダウンロードしたファイルの手動インストールが最初に機能するかどうかを確認します。

于 2012-05-23T08:03:25.337 に答える
0

ファイルのパスの前に「file://」を追加する必要があります。このようなもの:

intent.setDataAndType(Uri.parse("file://" + filepath), "application/vnd.android.package-archive");
startActivity(intent);
于 2015-01-27T09:39:25.727 に答える