Android应用开发之Android中由于ContentProvider导致的“应用组件的命名与已安装应用有冲突”问题
白羽 2018-11-29 来源 :网络 阅读 3373 评论 0

摘要:本文将带你了解Android应用开发之Android中由于ContentProvider导致的“应用组件的命名与已安装应用有冲突”问题,希望本文对大家学Android有所帮助。

    本文将带你了解Android应用开发之Android中由于ContentProvider导致的“应用组件的命名与已安装应用有冲突”问题,希望本文对大家学Android有所帮助。<

情况是这样的刚到公司的时候,给一个客户(代理)公司定做对外宣传App,就是将我们自己的App简单修改UI,然后以他们公司名义上线用于销售宣传,于是就修改了包名修改UI打包上线,然而也根本就没有时间熟悉代码,结果客户说一个Android手机上不能同时安装我们App和给他们修改后的App,当时一直没搞明白(以为是so库是问题,公司有个自己编译视频通信so文件)技术老大以为是so库问题,就说过些天解决,结果过了快一年,客户忽然又想起来让解决这个问题,这个时候就知道是上层apk问题了,于是各种百度,可想而知基本上都是各种包名之类玩意。
在手机安装我们apk之后再在应用商店下载客户定制apk就是下面这个情况了(备注:华为手机所以提示去华为应用商店下载了);

第一次看到这个玩意第一时间想到的是包名问题了,这个又是首先可以排除的,又想到了签名文件密码那些玩意了, 想到Android中apk识别问题,正如: [ apk唯一识别自己的标志是什么 ] 结果发现都不是问题所在,当然中少不了各种折腾啦
最后在一个群里有大佬问我是不是用到ContentProvider看一下两个apk中ContentProvider的authorities是不是没有做修改,因为是接手别人的项目而且数据库那一块就是升级而已,所以我知道在哪使用到ContentProvider但是一直没有仔细去研究,赶紧去一瞅原来是这个玩意坏了大事,哎……这时候才想起来 ContentProvider中authorities就是它是唯一标识内容提供者的,为内容提供者指定一个唯一的标识,这样别的应用才可以唯一获取此Provider,同时App中自己的ContentProvider中authorities也不能和Android系统的authorities一致哦,之前的Android在开发中用了一个开源的jar,来实现ContentProvider和触发器来监听App中部分数据的变化,并且在代码中设置的authorities,当初我又匆匆忙忙的改完包名和部分配置文件就上线了,就忘记改这个玩意了,导致了这个坑!小伙伴引以为戒啊    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved