在android开发结束后,我们需要打包上线,但是有太多打包的渠道耗费过长的时间,今天就介绍下我使用美团打包工具以及遇到的坑
1.集成
在app的build.gradle文件中加入
dependencies {
compile 'com.meituan.android.walle:library:1.1.6'
}
walle {
apkOutputFolder = new File("${project.buildDir}/outputs/channels")
apkFileNameFormat = '${appName}-${packageName}-${channel}-${buildType}-v${versionName}-${versionCode}-${buildTime}-${flavorName}.apk'
//configFile与channelFile两者必须存在一个,否则无法生成渠道包。两者都存在时优先执行configFile
channelFile = new File("${project.getProjectDir()}/channel")
//configFile = new File("${project.getProjectDir()}/config.json")
}
buildTypes {
release {
minifyEnabled true
signingConfig signingConfigs.debug
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
}
debug {
minifyEnabled false
signingConfig signingConfigs.debug
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
buildConfigField "boolean", "NEED_50", "Boolean.parseBoolean(\"false\")"
buildConfigField "String", "PRODUCT_FLAVOR", "\"KYS\""
}
}
在项目的build.gradle文件中加入
classpath 'com.meituan.android.walle:plugin:1.1.6'
2.建立channel文件:
集成好之后需要在app目录下
建立好文件后 需要在channel文件中写入渠道信息
image.pngwindows在androidstudio下的Terminal执行:
gradlew clean assembleReleaseChannels
即可打包
3.遇到的问题
报错:
Task 'assembleReleaseChannels' not found in root project 'MyApplication'.
项目中之前是集成过友盟的打包
之前是使用productFlavors进行多渠道打包的
只需要把这个注释掉就可以了
续:
在项目中已经使用过这个第三方框架了,但是有个问题是,打出来得包经过360加固之后,walle无法获取到渠道包,这里推荐一个链接来解决这个问题
https://segmentfault.com/a/1190000015554496
网友评论