解析错误 - 以编程方式安装apk

时间:2012-05-03 08:10:39

标签: android android-intent android-emulator apk

我正在尝试以编程方式安装apk文件。我提到了site这样做。

现在apk文件从网址下载并放入SD卡。当我尝试使用Intent方法在设备上安装它时,

弹出错误

仿真器:

 "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)我能够使用adb安装相同的.apk文件。       2)我将此.apk文件更改为.pdf格式,然后再将其发送给Server Team,然后将其更改回.apk。我正在添加这个因为格式转换可能会出现错误。

2 个答案:

答案 0 :(得分:1)

安装可以至少在以下情况下给出指定的错误:

  • 签名后更改了包名称:使用确切的名称 已签名的包(相反,在Manifest中调整名称)

  • 在较高的API级别编译包:更正API 清单文件中的级别

  • 从SD卡执行包:运行(安装)apk -file 来自手机内存或使用adb命令安装它

答案 1 :(得分: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);}