欢迎光临
我们一直在努力

android建立一个新的包,android如何打包app

多渠道打包

最近项目用到多渠道打包,虽然网上又很多资料, 但是我在实际使用的过程中还是遇到了些问题, 在这里记录下,希望能帮助到你!

首先配置你的渠道信息 :

配置渠道信息

这个时候渠道使用的签名配置都是和主工程一致的, 如果需要修改, 只需要配置Signing Config就可以了.

开始以为只要这样就行了, 但实际编译的时候, 抛出了 All flavors must now belong to a named flavor dimension 的错误, 这是由于各渠道需要对版本号进行统一

统一渠道版本

同步Gradle后, 会生成各渠道的配置信息, 这里列举百度的:

productFlavors {

app_baidu {

applicationId = “你的appid”

manifestPlaceholders = [

CHANNEL_VALUE: “app_baidu”, // 对应的渠道名称

JPUSH_PKGNAME: “”, // 你的appid

JPUSH_APPKEY : “”, //JPush上注册的包名对应的appkey.

JPUSH_CHANNEL: “”, //暂时填写默认值即可.

]

}

}

如果你的项目中还用到了友盟统计和极光推送, 那么你要去配置不同的CHANNEL_VALUE, 以确保对不同渠道的统计:

在Manifest的application节点下, 添加

android:name=”UMENG_CHANNEL”

android:value=”${CHANNEL_VALUE}” />

然后在不同的渠道里对这个值进行修改

极光推送的配置也是类型, 将所有用到包名的地方替换为${applicationId} vps云服务器 然后就可以对不同渠道进行打包了!

马甲包

马甲包的情况和多渠道其实很相似, 只需要在配置渠道的地方修改不同的applicationId, 就可以生成一个马甲包了,可以和主包安装在一个手机上了, 但是往往实际情况没有这么简单, 我在这中间就碰到了一些问题

首先是马甲包要引用不同的资源 , 这里就需要创建不同的资源目录

创建马甲包资源目录

马甲包资源

然后就可以对资源进行修改, 达到对不同资源的引用

第三方库的兼容问题

我在项目中用到了知乎的开源图片选择器(吐槽一下,个人感觉不是很好用, 还有bug) , 里面对存储空间的provider进行配置

配置provider

其实就是Context.getPackageName()

以上就是关于Android多渠道打包和马甲包的操作中我遇到的问题, 如果对你有所帮助, 还请点赞,谢谢你!

05965713

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。