• Android Studio多渠道打包的使用


    项目地址

    https://github.com/mcxiaoke/gradle-packer-plugin

    项目介绍

    gradle-packer-plugin 是Android多渠道打包工具Gradle插件,可方便的于自动化构建系统集成,通过很少的配置可实现如下功能 :

    • 支持自动替换AndroidManifest文件中的meta-data字段实现多渠道打包
    • 支持自定义多渠道打包输出的存放目录和最终APK文件名
    • 支持自动修改versionName中的build版本号,实现版本号自动增长

    gradle-packer-plugin 库路径: com.mcxiaoke.gradle:packer:1.0.+ 简短名:packer,可以在项目的 build.gradle 中指定使用

    使用方法

    修改项目根目录的 build.gradle :

    
    buildscript {
        repositories {
            mavenCentral()
        }
    
        dependencies{
            classpath 'com.mcxiaoke.gradle:packer:1.0.+'
        }
    }  
    

    修改Android项目的 build.gradle :

    apply plugin: 'packer'  
    

    多渠道打包

    需要在命令行指定 -Pmarket=yourMarketFileName属性,market是你的渠道名列表文件名,market文件是基于项目根目录的 相对路径 ,假设你的项目位于~/github/myapp 你的market文件位于 ~/github/myapp/config/markets.txt 那么参数应该是 -Pmarket=config/markets.txt,一般建议直接放在项目根目录,如果market文件参数错误或者文件不存在会抛出异常

    渠道名列表文件是纯文本文件,每行一个渠道号,列表解析的时候会自动忽略空白行,但是格式不规范会报错,渠道名和注释之间用 # 号分割开,行示例:

     Google_Play#play store market
     Gradle_Test#test
     SomeMarket#some market
    

    渠道打包的命令行参数格式示例(在项目根目录执行):

    ./gradlew -Pmarket=markets.txt clean archiveApkRelease
    

    Windows系统

    • 如果你是在windows系统下使用,需要下载 Gradle,设置 GRADLE_HOME 环境变量,并且将Gradle的 bin 目录添加到环境变量PATH,然后将命令行中的 ./gradlew替换为 gradle.bat
    • 如果同时还需要使用gradlew,你需要给你的项目配置使用gradle wrapper,在设置好了gradle之后,在你的项目根目录命令行输入 gradle.bat wrapper 然后就可以使用gradlew.bat 了
    • Windows系统下的命令行参考:
      • 使用gradle: gradle.bat clean assembleRelease
      • 使用gradle wrapper: gradlew.bat clean assembleRelease

    文件名格式

    可以使用 archiveNameFormat 自定义渠道打包输出的APK文件名格式,默认格式是

    ${appPkg}-${flavorName}-${buildType}-v${versionName}-${versionCode}

    举例:假如你的App包名是 com.your.company ,渠道名是 Google_Play ,buildType 是 release ,versionName 是 2.1.15 ,versionCode 是 200115 ,那么生成的APK的文件名是

    com.your.company-Google_Player-release-2.1.15-20015.apk

  • 相关阅读:
    docker node中uid与gid的授权问题
    windows下docker无法进行端口映射的问题
    IOS/Safari下document对象的scrollHeight值比Chrome更大
    Vue/Egg大型项目开发(二)数据库设计
    .babelrc和babel.config.js的相同配置不能合并
    es6 class中责任链模式与AOP结合
    JS设计模式(10)职责链模式(重要)
    Vue/Egg大型项目开发(一)搭建项目
    你不知道的JS(3)来聊聊this
    CentOS7为php7.2安装php-redis扩展(redis环境搭建二)
  • 原文地址:https://www.cnblogs.com/airry66/p/4402553.html
Copyright © 2020-2023  润新知