`
zxs19861202
  • 浏览: 915157 次
  • 性别: Icon_minigender_1
  • 来自: 湖北—》上海
社区版块
存档分类
最新评论

Gradle多渠道apk打包自动重命名

 
阅读更多

使用友盟多渠道发布apk,使用gradle自动打apk是十分方便的,这里贴出build.gradle代码
AndroidManifest.xml配置如下:

<meta-data

        android:value="${UMENG_CHANNEL}"

 

         android:name="UMENG_CHANNEL"/>

 

build.gradle代码如下:

 

apply plugin: 'com.android.application'

 

dependencies {

    compile fileTree(dir: 'libs', include: '*.jar')

    compile project(':PushSDK')

}

 

android {

    compileSdkVersion 22

    buildToolsVersion "24.0.2"

 

    compileOptions {

        sourceCompatibility JavaVersion.VERSION_1_7

        targetCompatibility JavaVersion.VERSION_1_7

    }

    

    lintOptions {

        abortOnError false

    }

 

    sourceSets {

        main {

            manifest.srcFile 'AndroidManifest.xml'

            java.srcDirs = ['.apt_generated','src']

            resources.srcDirs = ['.apt_generated','src']

            aidl.srcDirs = ['.apt_generated','src']

            renderscript.srcDirs = ['.apt_generated','src']

            res.srcDirs = ['res']

            assets.srcDirs = ['assets']

        }

 

        // Move the tests to tests/java, tests/res, etc...

        instrumentTest.setRoot('tests')

 

        // Move the build types to build-types/<type>

        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...

        // This moves them out of them default location under src/<type>/... which would

        // conflict with src/ being used by the main source set.

        // Adding new build types or product flavors should be accompanied

        // by a similar customization.

        debug.setRoot('build-types/debug')

        release.setRoot('build-types/release')

    }

    

    signingConfigs {  

        myConfig {  

            storeFile file("/Users/allen/Documents/workspace/game.keystore") 

            storePassword "abc123"  

            keyAlias "game"  

            keyPassword "abc123"  

        }  

}  

 

buildTypes {

        release {

//添加签名

            signingConfig signingConfigs.myConfig

//执行混淆

            //runProguard true

            //proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'

        }

 

productFlavors {  

        AA {  

            manifestPlaceholders = [ UMENG_CHANNEL:"AA"]  

        } 

        BB {  

            manifestPlaceholders = [ UMENG_CHANNEL:"BB"]  

        }

          

}  

 

    //重命名

    android.applicationVariants.all { variant ->

        variant.outputs.each { output ->

            def outputFile = output.outputFile

            

            if (outputFile != null && outputFile.name.endsWith("release.apk")) {

            

                //这里按照实际情况重命名

                def fileName = outputFile.name.replace("-release","");

                output.outputFile = new File(outputFile.parent, fileName);

               

            }

        }

    }

 

 

}

分享到:
评论

相关推荐

    Gradle多渠道打包(动态设定App名称,应用图标,背景图片,状态栏颜色)

    最后,构建多渠道APK时,可以在命令行中指定构建哪个渠道的APK,例如: ```bash ./gradlew assembleGooglePlay ./gradlew assembleAmazon ``` 以上就是使用Gradle进行多渠道打包,动态设定App名称、应用图标、背景...

    Android如何在Gradle中更改APK文件名详解

    如果你使用了`productFlavors`来创建多渠道包,那么情况会有所不同。`productFlavors`允许我们为不同的市场或客户创建定制的APK。例如: ```groovy productFlavors{ test{} } ``` 当使用`productFlavors`时,APK...

    Android studio 使用Gradle进行分渠道打包

    // 可以根据需要添加更多渠道 } } ``` 2. 替换服务地址 为了在每个渠道包中自动替换服务地址,我们可以使用Gradle的资源重命名(resValue)功能。在`build.gradle`中添加以下代码: ```groovy android { // ......

    Python多渠道打包资源

    5. 重命名打包文件:为了区分不同渠道的包,脚本可能还会对生成的APK或IPA文件进行重命名,例如`channel.apk`。 `channel.txt`则是一个简单的文本文件,可能包含格式如下的一行行数据: ``` 渠道名,应用ID,版本号 ...

    Android多渠道打包工具

    在Android应用开发中,多渠道打包是一项非常重要的任务,它允许开发者针对不同的分发渠道(如应用商店、合作伙伴等)创建定制化的apk文件。每个渠道可能有不同的广告ID、统计跟踪码或其他特定设置,因此需要单独的...

    多渠道快速打包脚本

    这个"多渠道快速打包脚本"正是为了解决这个问题,通过自动化的方式提高开发效率。 这个脚本使用Python语言编写,Python因其简洁易读的语法和丰富的库支持,常被用于自动化任务。使用Python脚本进行打包,开发者可以...

    android多渠道批量打包工具命令版

    总的来说,“android多渠道批量打包工具命令版”是一个高效实用的工具,它利用Gradle的灵活性和命令行的强大能力,简化了多渠道打包的过程。开发者只需关注配置和脚本编写,就能轻松地管理各种渠道的APK,从而将更多...

    美团多渠道打包工具(JavaUtil+PythonTool)

    本文将详细介绍美团使用的多渠道打包工具,该工具结合了JavaUtil和PythonTool,为开发者提供了一种高效、便捷的方式来管理不同渠道的APK构建。 首先,让我们了解一下什么是多渠道打包。在移动应用开发中,一个应用...

    Android之APK打包安装过程.zip_android 打包_run

    Android APK的打包与安装是Android应用开发过程中至关重要的步骤,它涉及到多个阶段,从源代码编译到最终在设备上运行。...在实际开发中,我们可能还需要考虑APK的分包、多渠道打包、动态加载等功能,以满足不同需求。

    android studio 3.0 gradle 打包脚本配置详解

    通过配置 Gradle 打包脚本,可以实现自动化打包、多渠道打包、版本管理等功能。本文将详细介绍 Android Studio 3.0 中的 Gradle 打包脚本配置。 Android Studio 3.0 中的 Gradle 打包脚本配置主要包括以下几个方面...

    Android 多渠道打包 Walle 测试版本

    在Android应用开发中,多渠道打包是一个常见的需求,它允许开发者为不同的分发渠道(如应用市场、第三方推广平台等)创建定制化的apk文件。这样,每个渠道的apk可以包含特定的渠道标识,便于追踪安装来源,从而进行...

    ant 多渠道包混淆 签名

    多渠道包是指同一个应用根据不同的分发渠道(如应用商店、企业内部分发等)进行定制的APK包。每个渠道包通常需要包含特定的渠道标识,以便在运行时识别渠道来源。在Ant构建脚本中,可以通过参数化构建或者替换资源...

    build-tools 22.0.1

    4. **APK打包工具**:这个工具用于将最终的资源、dex文件和库打包成APK,准备发布到Google Play或其他分发渠道。在22.0.1中,打包过程可能会更加高效,减少了构建时间。 5. **Gradle插件兼容性**:Build-Tools ...

    linux android build-tools 28.0.3

    这些工具通过Android Studio或命令行接口与Gradle构建系统协同工作,自动化整个构建过程,包括编译、打包、签名和优化。当更新到新版本的Build-Tools时,开发者可能需要检查并更新项目的build.gradle文件以确保兼容...

    android studio 免安装包 2020-3.1.zip

    12. **多渠道打包**:通过Gradle插件,开发者可以为不同的设备或市场创建定制的APK。 13. **Android Room**:这是一种数据库持久化库,简化了SQLite操作,提供了类型安全的查询构造。 14. **Android Jetpack**:...

    Android build-tools 25.0.3 for windows

    在版本25.0.3中,它提供了构建过程所需的多种工具,这些工具对于开发者来说是必不可少的,尤其是当他们进行编译、打包和优化APK时。在这个Windows版本中,Android Build-Tools 25.0.3旨在确保在Windows操作系统上...

Global site tag (gtag.js) - Google Analytics