多渠道打包相关

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

相关文章

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程

Maven项目打包时添加本地Jar包的操作步骤

《Maven项目打包时添加本地Jar包的操作步骤》在Maven项目开发中,我们经常会遇到需要引入本地Jar包的场景,比如使用未发布到中央仓库的第三方库或者处理版本冲突的依赖项,本文将详细介绍如何通过M... 目录一、适用场景说明​二、核心操作命令​1. 命令格式解析​2. 实战案例演示​三、项目配置步骤​1

Spring Boot项目打包和运行的操作方法

《SpringBoot项目打包和运行的操作方法》SpringBoot应用内嵌了Web服务器,所以基于SpringBoot开发的web应用也可以独立运行,无须部署到其他Web服务器中,下面以打包dem... 目录一、打包为JAR包并运行1.打包为可执行的 JAR 包2.运行 JAR 包二、打包为WAR包并运行

Python将字库文件打包成可执行文件的常见方法

《Python将字库文件打包成可执行文件的常见方法》在Python打包时,如果你想将字库文件一起打包成一个可执行文件,有几种常见的方法,具体取决于你使用的打包工具,下面就跟随小编一起了解下具体的实现方... 目录使用 PyInstaller基本方法 - 使用 --add-data 参数使用 spec 文件(

解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException: org.junit.Test问题

《解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException:org.junit.Test问题》:本文主要介绍解决tomcat启动时报Junit相... 目录tomcat启动时报Junit相关错误Java.lang.ClassNotFoundException

Maven中引入 springboot 相关依赖的方式(最新推荐)

《Maven中引入springboot相关依赖的方式(最新推荐)》:本文主要介绍Maven中引入springboot相关依赖的方式(最新推荐),本文给大家介绍的非常详细,对大家的学习或工作具有... 目录Maven中引入 springboot 相关依赖的方式1. 不使用版本管理(不推荐)2、使用版本管理(推

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4