安卓多渠道打包指定不同包名,注意点

一、基本操作

1、基本上,参考这个即可 //www.greatytc.com/p/9bfc4b23b2c0

2、注意点

针对指定不同包名,我们需要说明下几点。

1、清单文件里provider的authorities,需要单独指定

比如

build文件

    productFlavors {
        //我的APP
        appmj1 {
            applicationId "com.nice.ok"
            buildConfigField "String", "BASE_SERVER_URL", '"http://my/app/"'

//            manifest里面的值
            manifestPlaceholders = [
                FILE_PROVIDER       : "com.nice.ok.fileprovider",
                NIMContentProvider  : "com.nice.ok.ipc.provider",
                HuaweiUpdateProvider: "com.nice.ok.hms.update.provider"
            ]
        }


        //你的APP
        appmj2 {
            applicationId "com.nice.ok22"
            buildConfigField "String", "BASE_SERVER_URL", '"http://your/app/"'


//            manifest里面的值
            manifestPlaceholders = [

                FILE_PROVIDER       : "com.nice.ok22.fileprovider",
                NIMContentProvider  : "com.nice.ok22.ipc.provider",
                HuaweiUpdateProvider: "com.nice.ok22.hms.update.provider"
            ]
        }
    }

清单文件

        <provider
            android:name="com.huawei.hms.update.provider.UpdateProvider"
            android:authorities="${HuaweiUpdateProvider}"
            android:exported="false"
            android:grantUriPermissions="true" />

3、关于不存在main文件

有的项目,可能src下没有main。

在建立不同的res文件的时候,基本上所有的文章,都是讲在main下建立文件夹。

这时候,如果没有main,那么直接在src下建立就好。
比如src下建立appmj1和appmj2文件夹,然后对应的资源文件搞起来!
依然生效的。

END.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容