AndroidStudio多渠道打包详细讲解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/darling_R/article/details/61925391

转载请注明出处:http://blog.csdn.net/darling_R/article/details/61925391

如今一款APP一般都会发布到不同的应用市场上来增加推广以及知名度,今天就来说说Android的多渠道打包。
拿友盟来举例说明。
1。首先添加对友盟的依赖:

compile 'com.umeng.analytics:analytics:latest.integration'

在manifest文件里添加meta标签

<meta-data
    android:name="UMENG_APPKEY"
    android:value="58c6631265b6d67e4800017e" /><!-- 友盟key-->
<meta-data
    android:name="UMENG_CHANNEL"
    android:value="${UMENG_CHANNEL_VALUE}" /><!-- 友盟渠道号-->

在UMENG_CHANNEL的value里使用占位符,一遍后面可以方便的动态替换渠道号,如果只发布一个渠道的apk,那么直接就在这里写成固定的就可以了

2。第二步,编写配置文件
前提是你已经生成好签名文件啦
在build.gradle 文件里

 defaultConfig {
        applicationId "com.yh.okhttpdemo2"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true  //突破应用方法数65535的限制
        //默认渠道号,比如说就叫umeng
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"]
    }
     //添加签名配置文件
    signingConfigs {
        debug {
            keyAlias 'xiaohei'
            keyPassword '123456'
            storeFile file('E:/workspace/studio/OkHttpDemo2/app/tests.jks')
            storePassword '123456'
        }
        //为release包添加签名配置
        release {
            keyAlias "xiaohei"
            keyPassword "123456"
            storeFile file("E:/workspace/studio/OkHttpDemo2/app/tests.jks")
            storePassword "123456"
        }
    }

    buildTypes {

        release {
            minifyEnabled false //是否启用混淆
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

            signingConfig signingConfigs.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 {
        //使用当前的value值替换manifest中的占位符
        xiaomi {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
        }
        wandoujia {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
        }
    }

然后就可以在控制台,执行 gradlew assembleReslease,等待执行完毕,会出现BUILD SUCCESS,表示你已经成功了,可以去app\build\outputs\apk 文件夹下查看对应的apk安装包。

另外一种方式:
可以直接在studio窗口上操作,这种方式跟上面那种命令行相比,简单很多,不过感觉没有命令行的逼格高,哈哈哈哈
打开 File–Project Structure

这里写图片描述

如图所示,在右边选择 Signing 可以设置release和debug包的签名文件,选择Flavors,在里面点击左边的“+”添加不同的渠道,设置相关内容即可。

这里写图片描述

最后如下图所示,打包生成apk即可。

这里写图片描述

到此,使用Android Studio进行多渠道打包就结束了。

猜你喜欢

转载自blog.csdn.net/darling_R/article/details/61925391