配置部分:
1、把channel文件和 打包key放入项目中

项目选择Project模式,注意文件所放位置,在app文件下

Android 美团批量打包新方案

channel文件的渠道名字  # 后写备注内容

Android 美团批量打包新方案

2、配置build.gradle

在位于项目的根目录 build.gradle 文件中添加Walle Gradle插件的依赖, 如下:

buildscript {
    dependencies {
        classpath 'com.meituan.android.walle:plugin:1.1.3'
    }
}

并在当前App的 build.gradle 文件中apply这个插件,并添加上用于读取渠道号的AAR

apply plugin'walle'

dependencies {
    compile 'com.meituan.android.walle:library:1.1.3'
}

3、配置插件

这里是我的设置,具体规则参考文档

walle {
    // 指定渠道包的输出路径
//    apkOutputFolder = new File("${project.buildDir}/outputs/channels");
    apkOutputFolder = new File("D:/APK/MakeAPK")
    // 定制渠道包的APK的文件名称
    apkFileNameFormat = '${appName}-${packageName}-${channel}-${buildType}-v${versionName}-${versionCode}-${buildTime}.apk';
    // 渠道配置文件
    channelFile = new File("${project.getProjectDir()}/channel.txt")
}

3、关联打包key 和密码

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.zs.login.myvarioustest"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    signingConfigs {
        pkg {
            storeFile file("keystore/test.jks")
            storePassword "qazwsx"
            keyAlias "test"
            keyPassword "qazwsx"
            v2SigningEnabled true//是否启用APK Signature Scheme v2
        }
    }

    buildTypes {
        release {
            minifyEnabled false//minifyEnabled是否启用混淆
             shrinkResources false//删除无效的Resource
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.pkg
        }
    }
}

4、查看  渠道  
我是写在了application中,安装批量打包成功后得包,检测渠道是否写入成功

public class MyApp extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        String channel = WalleChannelReader.getChannel(this.getApplicationContext());
        Log.d("My_Channel","channel = " + channel);
    }
}

5、

打包方案:

方法一: Studio中直接打包

此方法异常简单,就一步:

Terminal 下 运行一句命令:gradlew clean assembleReleaseChannels

这是打所有渠道的包,其他操作(打单独的包)参看文档

Android 美团批量打包新方案


Android 美团批量打包新方案


Android 美团批量打包新方案


耐心等待打包结束就好了,去指定的文件查看打出的包即可

方法二:命令行打包
1、下载美团提供的jar包,我是在csdn中下的

Android 美团批量打包新方案

2、新建一个文件夹,把打包的channel文件,和 Studio中打的一个包(默认渠道或者没有的)放进去,批量打完的包会在这里。

Android 美团批量打包新方案

3、打开cmd,命令行进入第一步放jar的地方

Android 美团批量打包新方案

4、检差jar包是否正常(这步可以不要)
输入:
java -jar walle-cli-all.jar -h
Android 美团批量打包新方案

5、开始打包输入命令:
java -jar walle-cli-all.jar batch -f D:/APK/MakeAPK/channel.txt  D:/APK/MakeAPK/MyVariousTest.apk

注意,里面channel 文件和 先打的包的位置,请替换你的文件所在的位置

Android 美团批量打包新方案

6、打包完成,查看包
Android 美团批量打包新方案

7、

8、



相关文章: