Android多渠道打包就是一次性打出多个不同命名的apk。我这里是使用Android Studio3.6版本打包的,低版本的可能有点差异。先上效果图吧:
2.在build.gradle文件android{……}中添加如下代码,点击Sync Now就可以了。
productFlavors {
wandoujia {}
baidu {}
c360 {}
tencent {}
flavorDimensions "default"
}
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [CHANNEL_VALUE: name]
}
//重命名输出的apk
applicationVariants.all { variant ->
variant.outputs.all { output ->
if (output.outputFile != null && output.outputFile.name.endsWith('.apk')) {
def filename = "${variant.flavorName}_v${variant.versionName}_" + new Date().format("yyyy-MM-dd") + "_" + variant.buildType.name + ".apk"
outputFileName = filename
}
}
}
3.点击Build>Generate Signed Bundle / APK 进行签名打包。
4.添加keystore,添加完成后点击next。
5.全选,点击finish等待打包完成就可以了。
最后,贴出我的build.gradle文件代码,仅供参考。
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
defaultConfig {
applicationId "com.example.administrator.testa"
minSdkVersion 22
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
// ndk {
// abiFilters 'arm64-v8a'
// }
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
productFlavors {
wandoujia {}
baidu {}
c360 {}
tencent {}
flavorDimensions "default"
}
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [CHANNEL_VALUE: name]
}
//重命名输出的apk
applicationVariants.all { variant ->
variant.outputs.all { output ->
if (output.outputFile != null && output.outputFile.name.endsWith('.apk')) {
def filename = "${variant.flavorName}_v${variant.versionName}_" + new Date().format("yyyy-MM-dd") + "_" + variant.buildType.name + ".apk"
outputFileName = filename
}
}
}
// packagingOptions{
// doNotStrip "*/armeabi-v7a/*.so"
// }
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:25.3.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation files('libs/newsdk.jar')
}
}
作者:feng海涛