欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android Gradle多渠道打包

程序员文章站 2024-01-11 15:24:40
...

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开始打包:

Android Gradle多渠道打包

Android Gradle多渠道打包

Android Gradle多渠道打包

Android Studio3.0版本打包

Android Studio3.0版本打包与低版本的步骤前两步是一样的,在最后这步需要勾选签名,如下:

Android Gradle多渠道打包