android studio多渠道号,多包名打包

博客介绍了AS多渠道打包的步骤,首先要在清单文件中添加AndroidManifest.xml文件,接着在app的build.gradle中添加相关代码,包括编译版本、资源复制、自动输出带版本号的apk包等内容,还列出了依赖项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步: 在清单文件中添加AndroidManifest.xml文件

<meta-data android:name="FT_SOURCEID" android:value="${FT_SOURCEID}" />

在这里插入图片描述

第二步:app的build.gradle中添加如下代码

import org.apache.tools.ant.taskdefs.condition.Os
apply plugin: ‘com.android.application’
android {
compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger()
buildToolsVersion PROP_BUILD_TOOLS_VERSION

defaultConfig {
    applicationId "com.xxxx.xxxx.xxx"
    minSdkVersion 16
    targetSdkVersion 18
    versionCode 3804
    versionName "3.8.04"

}

sourceSets.main {
    java.srcDir "src"
    res.srcDir "res"
    jniLibs.srcDir "libs"
    manifest.srcFile "AndroidManifest.xml"
}

signingConfigs {

    release {
        storeFile file('../../xxxx.keystore')
        storePassword "xxxx"
        keyAlias "xxxx"
        keyPassword "xxxx"
    }
    debug {
        storeFile file('../../xxxx.keystore')
        storePassword "xxxx"
        keyAlias "xxxx"
        keyPassword "xxxx"
    }
}

buildTypes {
    release {
        minifyEnabled false
        zipAlignEnabled true
        signingConfig signingConfigs.release
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug {
        debuggable true
        minifyEnabled false
        zipAlignEnabled true
        signingConfig signingConfigs.debug
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
//添加代码   一定要加
productFlavors.all { flavor ->
    flavor.manifestPlaceholders = [FT_SOURCEID: name]
}
flavorDimensions "color" //不加这个报错
//多渠道id appid 
productFlavors {
    Ab_7pro {//7po 
        manifestPlaceholders = [FT_SOURCEID:"265"]    //渠道号1
        applicationId "com.xxxx.xxxx.xxx"                //包名1
        dimension "color"
    }
    Ab_nfas {//nfas 
        manifestPlaceholders = [FT_SOURCEID:"268"] //渠道号2
        applicationId "com.xxxx.xxxx.xxx" //包名2
        dimension "color"
    }
    Ab_pptv {//pptv 
        manifestPlaceholders = [ FT_SOURCEID:"264"] //渠道号3
        applicationId "com.xxxx.xxxx.xxx" //包名3
        dimension "color"
    }
    Ab_wj { //微鲸263
        manifestPlaceholders = [FT_SOURCEID:"263"] //渠道号4
        applicationId "com.xxxx.xxxx.xxx"////包名4
        dimension "color"
    }

}

}

android.applicationVariants.all { variant ->
// delete previous files first
delete “buildDir/intermediates/assets/{buildDir}/intermediates/assets/buildDir/intermediates/assets/{variant.dirName}”

variant.mergeAssets.doLast {
    copy {
        from "${buildDir}/../../../../../res"
        into "${buildDir}/intermediates/assets/${variant.dirName}/res"
    }

    copy {
        from "${buildDir}/../../../../../src"
        into "${buildDir}/intermediates/assets/${variant.dirName}/src"
    }

    copy {
        from "${buildDir}/../../../../../jsb-adapter"
        into "${buildDir}/intermediates/assets/${variant.dirName}/jsb-adapter"
    }

// copy {
// from “buildDir/../../../../../main.js"//from"{buildDir}/../../../../../main.js" // from "buildDir/../../../../../main.js"//from"{buildDir}/…/…/…/…/…/project.json”
// into “buildDir/intermediates/assets/{buildDir}/intermediates/assets/buildDir/intermediates/assets/{variant.dirName}”
// }
copy {
from “buildDir/../assets"into"{buildDir}/../assets" into "buildDir/../assets"into"{buildDir}/intermediates/assets/${variant.dirName}”
}
}

//自动输出apk包+版本号
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = “xxxxxx_xxx_xxx_variant.name−{variant.name}-variant.name{variant.versionName}.apk”
}
}
dependencies {
implementation fileTree(include: [’.jar’, '.aar’], dir: ‘libs’)
implementation fileTree(include: [’*.jar’], dir: ‘…/…/eclipse_lib/android/java/libs’)
implementation project(’:libcocos2dx’)
implementation files(‘libs/iapppay_plugin.jar’)
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值