Android Studio多渠道多项目打包App

为了应对不同项目不同源码需求,实现自动多项目多渠道打包,buildgradle中:

android{
……
    productFlavors {
        //新建产品product
        project1 {

        }
        project2 {

        }

    }
    sourceSets {
        project1 {
            java.srcDirs = ['src/project1', 'src/project1/java', 'src/project1/java/']
        }
        project2 {
            java.srcDirs = ['src/project2', 'src/project2/java', 'src/project2/java/']
        }        
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
            // 批量打包
            applicationVariants.all{ variant ->
                variant.outputs.each { output ->
                    def fineName = "appname_${variant.productFlavors[0].name}.apk"
                    output.outputFile = new File(rootProject.getRootDir().getAbsolutePath()+project.allPath, fineName)
                }
            }
        }
//        debug {
//            // 批量打包
//            applicationVariants.all{ variant ->
//                variant.outputs.each { output ->
//                    def fineName = "appname_${variant.productFlavors[0].name}.apk"
//                    output.outputFile = new File(rootProject.getRootDir().getAbsolutePath()+project.allPath, fineName)
//                }
//            }
//        }

    }
……
}

这样只要执行gradlew assemblerelease,即会生成appname_project1.apk及appname_project2.apk

猜你喜欢

转载自blog.csdn.net/weixin_39694445/article/details/80973215