您好我正在开发一个您使用私密的应用程序,我不想上传到Google Play。
当应用程序打开时,检查服务器中是否存在新更新,如果存在则下载apk然后安装
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);
安装完成后显示此错误
an existing package by the same name with a confilcting signature is already installed
这两个apk都使用相同的机器构建并在avd emulator
上进行了测试。
可能会发生什么?
答案 0 :(得分:2)
可能一个用默认的debugkey签名,另一个用你自己的密钥签名。确保以相同的方式构建两个版本。要么您将其上传到Play,您应该拥有自己的密钥库,并使用它进行签名。有关更多信息,请查看以下link。
答案 1 :(得分:2)
转到 Seq A C G T
CAGGACATAA 5 2 2 1
TGTCCACTGC 1 4 2 3
,然后滑动到“全部”标签。向下滚动到列表的最后部分,其中列出的旧版本标记为“未安装”。选择它并按右上角的“设置”按钮,最后“卸载所有用户”
答案 2 :(得分:1)
如果您拥有要安装的应用程序,则只需在android:versionCode="??"
中增加android:versionName="??"
和AndroidManifest.xml
,然后再次生成该应用。
我希望这会有所帮助。
答案 3 :(得分:0)
我遇到了同样的问题,你需要正在运行的应用程序具有与升级到的相同的签名。当您通过模拟器运行应用程序时,它将获得开发签名。
我做的是运行模拟器,删除程序,然后从互联网上手动安装我的应用程序,然后通过让我的应用程序升级自己来测试升级。两者都签署了生产签名,所以它能够发生。