Android Studio批量打包

第一步:配置build


apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "22.0.1"
    packagingOptions {
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/LICENSE.txt'
    }
    //签名
    signingConfigs {
        release {
            storeFile file("txfund_keystore.jks")
            storePassword "123456"
            keyAlias "TXFund"
            keyPassword "123456"
        }
    }
    defaultConfig {
        applicationId "org.lmw.demo.slidingtab"
        minSdkVersion 14
        targetSdkVersion 21
    }

    buildTypes {
        release {
            // 不显示Log
            //buildConfigField "boolean", "LOG_DEBUG", "false"

            //minifyEnabled true //混淆
            zipAlignEnabled true //内存对齐
            shrinkResources true //移除无用的resource文件
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release

            android.applicationVariants.all { variant ->
                def stringsFile = new File(variant.outputs[0].processResources.assetsDir, "abc.txt")
                stringsFile.mkdir()
            }

            applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def outputFile = output.outputFile
                    if (outputFile != null && outputFile.name.endsWith('.apk')) {
                        def fileName = "APK_${releaseTime()}_${variant.productFlavors[0].name}.apk"
                        output.outputFile = new File(outputFile.parent, fileName)
                    }
                }
            }
        }
    }

    lintOptions {
        checkReleaseBuilds false
        abortOnError false
        ignoreWarnings true
    }

    // 渠道列表
    productFlavors {
        _360 {}
        _91 {}
        QQ {}
        appChina {}
        baidu {}
        google {}
        //.....
    }

    productFlavors.all { flavor ->
        flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }
}

def releaseTime() {
    return new Date().format("yyyy-MM-dd HH-mm-ss", TimeZone.getTimeZone("GMT+8"))
}
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:support-v4:22.2.1'
    compile files('libs/xutils-library-2.4.7.jar')
}


第二步:配置文件加入变量

<!-- 友盟Start -->
<meta-data
    android:name="UMENG_APPKEY"
    android:value="……" />
<meta-data
    android:name="UMENG_CHANNEL"
    android:value="${UMENG_CHANNEL_VALUE}" />


第三步:将打包文件放如下位置



第四步:打开cmd

到指定项目路径下      gradle build
建议使用gradle assembleRelease  
然后等待数秒后,即可打包成功,成功后在outputs里面找,文件名不带unsign即为打包成功了!
注:如果gradle无法执行,则手动配置gradle的环境变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值