问题描述
您好我正在开发一个应用程序,您使用的是私人的,我preFER不要上传到谷歌播放。
Hi I am developing an application that your use is private and i prefer not to upload to Google play.
在应用程序中打开检查,如果在一个服务器上存在的新的更新,如果存在下载APK,然后安装
When the app opens check if exist new updates in a server, if exist download the apk and then install
Intent i = new Intent();
i.setAction(Intent.ACTION_VIEW);
i.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/ipacUpdates/ipac.apk")), "application/vnd.android.package-archive" );
this.ctx.startActivity(i);
在安装完成后显示此错误
When the installation finishes shows this error
已安装的现有软件包同名用confilcting签名
这两个APK建造在同一台机器,并就 AVD模拟器
。
Both apk builded with the same machine and tested on avd emulator
.
什么是这样吗?
推荐答案
我有同样的问题,您需要到正在运行的应用程序具有相同的签名为你升级到。当您通过模拟器中运行应用程序它得到了开发签名。
I had the same issue, you need to the running app have the same signature as what you are upgrading to. When you run the app through the emulator it gets the dev signature.
我所做的就是运行模拟器,删除该程序,然后做手工从互联网上我的应用程序的安装,然后通过让我的应用程序本身的升级测试升级。两人都具备了生产签名进行签名,所以它才得以发生。
What I did was run the emulator, remove the program, then do a manual install of my app from the internet, then tested the upgrade by having my app upgrade itself. Both were signed with the production signature, so it was able to happen.
有关详细信息参考:Android应用程序不安装。已经安装现有软件包由同名冲突签名
这篇关于已安装现有软件包同名用confilcting签名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!