Android Gradle 多渠道打包

作者:秦川小将
地址:http://blog.csdn.net/mjb00000/article/details/79386391
声明:本文是 秦川小将 原创投稿,转发等请联系原作者授权。

1.首先集成友盟统计SDK(友盟集成文档)

在Gradle中集成如下:

 dependencies {
   compile 'com.umeng.analytics:analytics:latest.integration'
 }

2.在AndroidManifest.xml的application节点下meta-data中配置如下:

 <meta-data
   android:name="UMENG_APPKEY"
   android:value="您在友盟平台申请的AppKey"/>
 <meta-data
   android:name="UMENG_CHANNEL"
   android:value="${UMENG_CHANNEL_VALUE}"/>

3.配置一些Gradle语言以及多渠道ID:

apply  plugin:  'com.android.application'
android   {
   compileSdkVersion    23  //   编译的SDK版本
   buildToolsVersion    "23.0.3"  //   编译的Tools版本
   defaultConfig   {  //   默认配置
     applicationId  "应用包名"  //  例如:com.auto.app
     multiDexEnabled   true  //  dex突破65535的限制
     minSdkVersion   14  //  支持的最低版本
     targetSdkVersion  23  //  支持的目标版本
     versionCode  1
     versionName   "1.0.0" // 版本号
     signingConfig   signingConfigs.debug
  }
  signingConfigs   {
   release {
     keyAlias  'alias'
     keyPassword  '签名密码'
     storeFilefile  ('签名文件地址')
     storePassword  '签名密码'
   }
   debug {
     keyAlias  'alias'
     keyPassword  '签名密码'
     storeFilefile ('签名文件地址')
     storePassword  '签名密码'
   }
  }
 buildTypes {    
     release {        
            minifyEnabled false // 混淆开启        
            zipAlignEnabled true// Zipalign优化        
            shrinkResources true// 移除无用的resource文件        
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        
            signingConfig signingConfigs.release// 设置签名信息        
            applicationVariants.all { variant ->            
                variant.outputs.each { output ->                
                     def outputFile = output.outputFile                
                         if (outputFile != null && outputFile.name.endsWith('.apk')) {  
                             // 设置apk包名,如:Auto_1.0.0_渠道ID.apk                  
                             def fileName = "Auto_${defaultConfig.versionName}_${variant.productFlavors[0].name}.apk"                    
                            output.outputFile = new File(outputFile.parent, fileName)                
                         }            
                 }
            }
     }
 }

sourceSets {
        main {        
                jniLibs.srcDirs = ['libs']    
        }
 }

repositories {
         mavenCentral()
 }

productFlavors {
       baidu{
               manifestPlaceholders= [UMENG_CHANNEL_VALUE:"baidu"]
       }
       wandoujia{
               manifestPlaceholders= [UMENG_CHANNEL_VALUE:"wandoujia"]
       }
       xiaomi{
               manifestPlaceholders= [UMENG_CHANNEL_VALUE:"xiaomi"]
       }
   }
}
dependencies {
        compile  fileTree(include: ['*.jar'],dir:'libs')
        compile  '其他引用包'
        compile  'com.umeng.analytics:analytics:latest.integration'
}

4.使用Android Studio开始打包:

gradle多渠道打包.png
gradle多渠道打包.png
gradle多渠道打包.png
(0)

相关推荐