Android多渠道打包

1:添加对友盟库的依赖

//添加友盟统计库依赖
compile 'com.umeng.analytics:analytics:latest.integration'
添加完依赖后sync now下

2:就是在Mainfest.xml中去声明我们的appkey,以及我们的渠道占位符

2.1  相应的权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

2.2 添加友盟相关meta-data
        <meta-data android:value="5982cf41734be43474000d24"
            android:name="UMENG_APPKEY"/><!--友盟 APPKey   key可以替换成自己的-->
        <meta-data android:value="${UMENG_CHANNEL_VALUE}"
            android:name="UMENG_CHANNEL"/><!--渠道号  加$是为了动态修改渠道包-->


3:在我们的应用的build.gradle中去动态的替换掉我们占位符的value即可

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "25.0.3"

    defaultConfig {
        applicationId "nuro.nuro.imook60"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"

        multiDexEnable true //突破应用方法数65535的一个限制
        manifestPlaceholders = [UMENG_CHANNEL_VALUE:"umeng"]
    }

    //添加我们的签名文件配置,必须先定义
    signingConfigs{
        debug{}

        //为我们的release包添加签名文件配置,如果之前有在build中设置,
        // 这个里面的参数必须和build相同,否则会出现错误
        release{
            storeFile file("E:/Android demo/imook6.0/imook6.0.jks")
            storePassword "123456"
            keyAlias "imook"
            keyPassword "123456"
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

            signingConfig signingConfigs.release//为我们的apk指定要使用的签名文件

            //指定我们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);
                    }
                }

            }
        }
    }

    productFlavors{
        xiaomi{
            // mainfestPlaceholders = [UMENG_CHANNEL_VALUE:"xiaomi"]
            // resValue "string","app_name","xiaomi_app"//替换Value
        }

        wandoujia{
            // mainfestPlaceholders = [UMENG_CHANNEL_VALUE:"wandoujia"]
           //  resValue "string","app_name","wandoujia_app"
        }

    }

    //脚本动态完成多渠道打包
    productFlavors.all{
          flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE:name]
    }

}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
    compile 'com.android.support:design:26.0.0-alpha1'

    //添加友盟统计库依赖
    compile 'com.umeng.analytics:analytics:latest.integration'
}




4:window下在控制台使用我们的gradlew assembleRelease自动的打出所有渠道的包


以下是Android多渠道打包demo下载地址:http://download.csdn.net/detail/qq_27922603/9920488


不懂的地方可以联系qq:1143403680

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值