错误解析包:从服务器以编程方式下载后尝试安装apk时

时间:2019-07-05 05:50:50

标签: java android

我正尝试更新不会发布到Play商店的应用程序,因为该应用程序仅供内部使用,我已经能够下载文件,但是在启动安装意图时却得到了“错误解析包”

  • 我已尝试将文件保存在公共目录中,如一些链接所述。
  • 由于目标设备是8.x,因此我已经使用 FileProvider获取URI
  • 我已经通过从文件管理器应用程序以及adb中手动安装了apk,以确保apk没问题。
  • 我已经尝试了多种安装应用程序的意图。
  • 已授予所有权限。

-权限:

android:name="android.permission.INTERNET"
android:name="android.permission.ACCESS_NETWORK_STATE"
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:name="android.permission.REQUEST_INSTALL_PACKAGES"

-我已经厌倦的意图代码:

Intent intent = new Intent(Intent.ACTION_INSTALL_PACKAGE);                    intent.setData(FileProvider.getUriForFile(StandardListActivity.this, BuildConfig.APPLICATION_ID+".authorityStr",localFile));    
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
            intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
            startActivity(intent); 

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(getPackageName().toString()));               intent.setDataAndType(FileProvider.getUriForFile(StandardListActivity.this, BuildConfig.APPLICATION_ID+".authorityStr"
                    ,localFile), "application/vnd.android.package-archive");
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);

Intent installIntent = new Intent(Intent.ACTION_VIEW);              installIntent.setDataAndType(FileProvider.getUriForFile(StandardListActivity.this,BuildConfig.APPLICATION_ID+".authorityStr",localFile), "application/vnd.android.package-archive");
            installIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(installIntent);

-创建用于存储的本地文件:

File rootPath = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "/blee");
    if (!rootPath.exists()) {
        rootPath.mkdirs();
    }
final File localFile = new File(rootPath, "test2.apk");

想知道是否还有其他可以尝试的方法,请请勿重定向,因为我可能已经尝试过了。

谢谢

0 个答案:

没有答案
相关问题