Android 极速版的那些事

开篇废话

随着项目越来越大,为了下沉用户,让低端手机也能享受到我们App带来的服务,所以就衍生出了极速版,有些同学可能不知道极速版需要注意哪些事项,所以我就来总结一下,我遇到的问题,以及是如何解决的。

先讲结论

  • Java 代码的包名和 applicationId 不相干。
  • 极速版可以直接使用 applicationIdSuffix 。
  • AndroidManifest.xml 中写的 package 标签只是为了在 AndroidManifest.xml 使用。
  • 需要注意两个项目的 ContentProvider 的 authorities 不可相同。

Java包名&applicationId

首先说明,Java 层的包名和 applicationId 之间互不相干,安装包和填写到第三方的包名使用的是 applicationId 。
applicationId

使用applicationIdSuffix

有不同包名软件也可以直接添加 applicationIdSuffix 添加后缀,基本不需要修改其它地方。
applicationidSuffix

然后构建的 application 包为就会是com.example.myapplication.jisuban
AndroidManifest.xml

AndroidManifest中的package

这时候,可能就会有小伙伴疑问了,那我们在 AndroidManifest 中填写的的 package 是什么作用呢?
package

在默认 text 的情况下,AndroidManifest 中的 package 还是原来的com.example.myapplication 然后而且 package 是为了方便 activity 标签的使用。
activity

在 Merged Manifest 下为com.example.myapplication.MainActivity
activity

ContentProvider的authorities

还要注意的一点是两个项目的 ContentProvider 的 authorities 不可相同。
如果相同了会发生什么呢?
安装冲突

怎么解决呢?就是将极速版中与主版中相同的 ContentProvider 的 authorities 进行更改。这里就不上图了,简单说明一下,为什么 ContentProvider 的 authorities 不能相同呢?
因为 ContentProvider 中 authorities 就是为内容提供者指定一个唯一的标识,这样别的应用才可以唯一获取此 Provider ,同时 App 中自己的 ContentProvider 中 authorities 也不能和 Android 系统的 authorities 一致。

结束小语

如果其它同学还在开发极速版中遇到了什么奇葩事,也可以给我留言,我添加在文中,方便给有需要的同学踩坑。

进入我的CSDN戳这里(我的博客导航)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值