android - 安装两个版本的 apk(具有不同的 applicationId)
问题描述
我必须在 android 项目中进行多少更改才能将其安装为新应用程序?
我认为更改文件applicationId
中的内容就足够了build.gradle
,但是如果不卸载第一个版本,我就无法安装该应用程序的第二个版本。在 Play 商店中,我得到error 910
或error -505
在手动安装时得到:
Installation failed with message Failed to finalize session : INSTALL_FAILED_CONFLICTING_PROVIDER: Package couldn't be installed in /data/app/net.mindlevel-1: Can't install because provider name net.mindlevel (in package net.mindlevel) is already used by net.veglevel.
It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing.
我也必须更改包名称AndroidManifest.xml
吗?
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.mindlevel">
如果我改变了它,我必须改变每一个源文件来使用那个包,对吗?
解决方案
在您的清单中,有一个<provider>
带有硬编码android:authorities
属性的元素。这需要和您的一样进行更改applicationId
,因为每个唯一权限只能安装一个提供程序。
推荐阅读
- unit-testing - 需要帮助区分模拟和测试驱动程序
- python - Python matplotlib改变x轴的主要单位比例
- angular - Angular scrollPositionRestoration 反向工作
- asp.net - 无法从 ASP.NET MVC 应用程序调用 API?
- python - 尽管模块安装在 python 环境中,VSCode 给出错误“没有名为 sqlalchemy 的模块”
- ruby - 如何将文件中的数据解析为哈希
- c++ - 如何在文件之间共享全局类实例?
- javascript - 无法在反应中重置复选框事件中已检查项目的值
- oracle - 游标返回 0 作为计数,即使表中有可用的值可用于游标中提到的查询
- python - 正则表达式与模式不匹配