Android studio 多渠道打包

AndroidStudio多渠道打包实战

Android studio多渠道打包productFlavors的使用流程如下:

以下为我按照三个渠道打包流程:

第一:在APP项目目录的src目录下,新建三个文件:product、prodcuta、productb

三个product文件下可以建assert、java、res文件夹,assert中的资源如有差异化,需要保持文件名称一致,java中包名和类名要保持一致、res文件下的资源文件名要保持一致

如下为我的目录结构:

每个product里结构如下:

包名和main中,如果有某个类有差异化,在每个product中进行不同处理,main中删除该类,否则会报类重复drawable可以放入不同的图片,但是图片名称要一致

values中的strings 和colors文件,里面的key需相同,value可以不相同

第二:在app的build.gradle文件中需要进行

productFlavors配置

配置如下:

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.yang.productflavorstest"
        minSdkVersion 26
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        flavorDimensions "default"
    }
    signingConfigs {
        relase {
            keyAlias ****
            keyPassword '****'
            storeFile file('F:/ketstore/yposkeystore.keystore')
            storePassword '****'
        }
        debug {
            keyAlias '****'
            keyPassword '****'
            storeFile file('F:/ketstore/yposkeystore.keystore')
            storePassword '****'
        }
    }

    productFlavors{
        product{
            //每个环境包名不同
            applicationId 'com.yang.productflavorstest'
            buildConfigField "String", "packageName", "\"com.yang.productflavorstest\""
            buildConfigField "String", "appName", "\"主项目\""
            versionCode 1
            versionName '1.1.1'
        }
        producta{
            //每个环境包名不同
            applicationId 'com.yang.productflavorstest.producta'
            buildConfigField "String", "packageName", "\"com.yang.productflavorstest.producta\""
            buildConfigField "String", "appName", "\"项目A\""
            versionCode 1
            versionName '1.1.1'
        }

        productb{
            //每个环境包名不同
            applicationId 'com.yang.productflavorstest.productb'
            buildConfigField "String", "packageName", "\"com.yang.productflavorstest.productb\""
            buildConfigField "String", "appName", "\"项目B\""
            versionCode 2
            versionName '1.1.2'
        }

    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值