Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive");
startActivity(intent);
file为一个apk文件,安装的时候老是出现包解析错误,将apk文件用adb正常安装启动。
百度之,没有发现一个好的解决办法,高手同事出现了。
第一个,提供解决思路,因为这个文件是我检查更新从服务器上拉取下来的apk文件,这个apk是另外一个小伙伴上传到服务器上的,签名不一样。
考虑把我的app的manifest.xml文件下下面的版本改成和服务器一样,运行一遍,把编译的高的版本,从bin目录下拿出来放到我的安装目录下。
运行app,不安装服务器的apk文件,而是运行我自己仅仅升高了版本号的app,发现可以运行安装。但是一旦切换成服务器上面的,依然是包解析异常。
这里要注意一个问题,就是安装的包的名称和项目的名称保持一致?我这里是和project的名称保持一直就不会出现异常,也就是我在写这个文件的
名字的时候,最好和project的名称一样。可能有更宽泛的要求,待检验
第二个,发现我的安装目录可能是问题,提议我把安装目录改成sd卡目录,而不是我之前的应用程序下面的file文件夹。结果换了文件夹,果然可以安装。