2012-05-03 18 views
1

プログラムでapkファイルをインストールしようとしています。私はこれを参考にsiteを参考にしました。解析エラー - apkをプログラムでインストールする

ここで、apkファイルがURLからダウンロードされ、SDCardに配置されます。私は

それはエラー以下のポップアップされ、テントの方法を使用してデバイスにインストールしようとすると

エミュレータ:

"Parse Error - There is a problem parsing the package", 
Logcat(W) : "Unable to read AndroidManifest.xml of /mnt/sdcard/download/myapp.apk", 
Logcat(W) : "java.ioException: AndroidManifest.xml", 
Logcat(W) : "Parse error when parsing manifest. Discontinuing installation". 
Logcat(E) : "java.lang.SecurityException", 
Logcat(E) : "java.lang.NullPointerException". 

注:1)私は同じの.apkファイルをインストールすることができましたを使用してadb。 2)この.apkファイルを.pdf形式に変更してServer Teamに送信した後、.apkに戻しました。私はフォーマット変換によるエラーの可能性があるかもしれないこのcozを追加しています。

+1

APKに問題があります。サーバーからダウンロードし、ダウンロードしたファイルをadb経由でインストールできるかどうかを確認してください。 – Rajesh

+0

ありがとうたくさんのRajesh、私はそれを行い、あなたの投稿を維持:) – ayachama

+0

おっと:予想される署名read_centraldirectory_entry_failed、ファイル 'C:\ APK \ MyApp.apk'が有効なzipファイルではありませんでした。これは私がcmdをインストールしようとしたときに、私はプロジェクト/ binにapkをインストールしたとき/私はアプリケーションをインストールすることができました。 – ayachama

答えて

0

private void installApk(){ 
          Intent intent = new Intent(Intent.ACTION_VIEW); 
          Uri uri = Uri.fromFile(new File("/sdcard/path")); 
          intent.setDataAndType(uri, "application/vnd.android.package-archive"); 
          startActivity(intent);} 
1

インストールは、以下の場合に、少なくとも指定されたエラーを与えることができ、このコードを確認してください:パッケージの

  • 名が署名後に変更されます。使用正確な名前などを 署名されたパッケージは(代わりに、マニフェストで名前を調整する)

  • パッケージは、より高いAPIレベルでに対してコンパイルされています。は、マニフェストファイルでAPI レベルを修正し

  • パッケージは、SDカードから実行されますファイル名を指定して実行(インストール)携帯電話のメモリから -file APK OR ADBを使用しますインストールするコマンド

関連する問題