这里我们是集成的友盟的sdk
1.添加对友盟库的依赖
2.就是在Manifest.xml去声明我们的APPKey,以及我们的渠道占位符。
3.在我们的build.gradle中动态替换掉我们的占位符value即可
4.就是在控制台使用我们的./gradlew assembleRelease去自动的打出我们所有渠道的包。(assembleDebug,assmblewandoujiaRelease)
//<!--友盟统计相关的 --> <meta-data android:name="UMENG_APPKEY" android:value="appkey"> </meta-data> <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}"> 这里用的一个占位符,表示可以多渠道打包,如果只打一个渠道就不用写占位符了 </meta-data>apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.best.zhengli" minSdkVersion 9 targetSdkVersion 23 versionCode 1 versionName "1.0" multiDexEnable true //突破应用方法数65535的一个限制 manifestPlaceholders = [UMENG_CHANNEL_CALUE:"umeng"] } buildTypes { release { minifyEnabled false //代码混淆 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' //指定签名 signingConfig signingConfigs.release //指定我们release包的输出文件名就是我们的渠道名字 applicationVariants.all{ variant -> variant.outputs.each{ output ->def outFile = output.outputFile if(outFile != null && outFile.name.endsWith(".apk")){ def fileName = "${variant.productFlavors[0].name}"+".apk" output.outputFile = new File(outFile.parent,fileName) } } } } } //添加我们的签名文件配置 signingConfigs{ debug{} release{ //先打包生成一个apk //为我们的release包添加签名文件配置 storeFile file(com.jks) storePassword "rq123456" keyAlias "android" keyPassword "rq123456" } } //多渠道 productFlavors{ xiaomi{ //方法一 // manifestPlaceholders = [UMENG_CHANNEL_VALUE:"xiaomi"] } wandoujia{ //方法一 // manifestPlaceholders = [UMENG_CHANNEL_VALUE:"wandoujia"] } } //通过脚本来获取全部的渠道(方法二) productFlavors.all{ flavor ->flavor.manifestPlacehodlers = [UMENG_CHANNEL_VALUE:name] } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:23.1.0' }
android的多渠道打包
最新推荐文章于 2024-08-08 22:52:15 发布