多渠道打包相关

2024-08-29 15:38
文章标签 相关 打包 多渠道

本文主要是介绍多渠道打包相关,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

通用配置文件

apply plugin: 'com.android.application'

android {//签名信息,通过setting可以设置生成
    signingConfigs {releasesign {keyAlias 'alias'
            keyPassword '密码'
            storeFile file('F:/appsignepyen/forqudao.jks')storePassword '密码'
        }}//-----------------------
    //--无关渠道
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {applicationId "com.foruse.qudao"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }//-------------
    //设置debugherelease版本分别是用的签名  可以有区别
    buildTypes {
debug {signingConfig signingConfigs.releasesign
}
release {signingConfig signingConfigs.releasesign
}
} //不同的渠道包信息 productFlavors { meizu {//下面这几个信息不配置默认使用工程的 minSdkVersion 15 targetSdkVersion 23 versionCode 1 signingConfig signingConfigs.releasesign //这个是必要的 versionName '1.0.0' manifestPlaceholders = [UMENG_CHANNEL_VALUE: "meizu"]//配置友盟渠道信息 } //可以粘贴复制,或者通过settting设置 google { minSdkVersion 15 signingConfig signingConfigs.releasesign //携带签名信息 manifestPlaceholders = [UMENG_CHANNEL_VALUE: "google"]//配置友盟渠道信息 } }
//
   
//    productFlavors {  //极简样式
//        wandoujia {}
//        baidu {}
//        c360 {}
//        uc {}
//        productFlavors.all { flavor ->
//            flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
//        }
//    }

 //-----------------------------// 设置输出apk的名字 applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { def fileName = outputFile.name.replace(".apk", "-${defaultConfig.versionName}.apk") output.outputFile = new File(outputFile.parent, fileName) } } } //------------------}// 无关渠道dependencies { }

<meta-data
    android:name="UMENG_CHANNEL"
    android:value="${UMENG_CHANNEL_VALUE}" />  //在清单文件添加这个

// "当前渠道  "+getMetaData(this, "UMENG_CHANNEL"));
  private static String getMetaData(Context context, String key) {try {ApplicationInfo ai = context.getPackageManager().getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);
          Object value = ai.metaData.get(key);
          if (value != null) {return value.toString();
          }} catch (Exception e) {}return null;
  }

们直接在dos命令定位到Demo4的项目目录(如果你用的是win7,可以直接先进入到项目目录,然后在空白处,先按住shift,再点右键选择"在此处打开命令窗口")

a: gradlew clean

b:gradlew assembleRelease    // 这是编译并打Release的包  在app--build目录下


可能出现

: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。

这个时候在build.gradle中添加如下配置:

allprojects {gradle.projectsEvaluated {tasks.withType(JavaCompile) {options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"}}
}

c:gradlew assembleDebug   //这是编译并打Debug包

d:

如果我们想打包wandoujia渠道的release版本,执行如下命令就好了: 
gradle assembleWandoujiaRelease   //必须有这个字段,不区分大小写

如果我们只打wandoujia渠道版本,则: 
gradle assembleWandoujia //
此命令会生成wandoujia渠道的Release和Debug版本

设置sign  http://download.csdn.net/detail/u013134722/9848983

参考: https://my.oschina.net/aibenben/blog/370985

   http://blog.csdn.net/u013278099/article/details/50463577

这篇关于多渠道打包相关的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1118269

相关文章

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

Flutter打包APK的几种方式小结

《Flutter打包APK的几种方式小结》Flutter打包不同于RN,Flutter可以在AndroidStudio里编写Flutter代码并最终打包为APK,本篇主要阐述涉及到的几种打包方式,通... 目录前言1. android原生打包APK方式2. Flutter通过原生工程打包方式3. Futte

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

linux打包解压命令方式

《linux打包解压命令方式》文章介绍了Linux系统中常用的打包和解压命令,包括tar和zip,使用tar命令可以创建和解压tar格式的归档文件,使用zip命令可以创建和解压zip格式的压缩文件,每... 目录Lijavascriptnux 打包和解压命令打包命令解压命令总结linux 打包和解压命令打

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组