Android 多环境 部署

本文介绍了Android应用如何实现多环境部署,包括Gradle配置、清单文件使用占位符处理不同环境设置,以及如何在调试时切换不同版本,并提供了打包命令示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多环境部署:主要要与一套代码需要适合不同的应用场景

1、Gradle配置

buildTypes {
        //调试版本,无混淆
        debug {
            minifyEnabled false
            signingConfig signingConfigs.release
        }
        //发布版本,有混淆
        release {
            minifyEnabled true
            //对打包的应用程序进行优化。在你的应用程序上运行zipalign,使得在运行时Android与应用程序间的交互更加有效率。
            zipAlignEnabled true
            //打包时会删除没有用到的资源
            shrinkResources true
            signingConfig signingConfigs.release
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    productFlavors {
        //开发环境
        develop {
           // 设置一个变量区分不同的版本以作处理,开发中调用BuildConfig.ENV_TYPE可得到值
            buildConfigField "int", "ENV_TYPE", "1"
            applicationId '替换为开发ID(英文)'
            manifestPlaceholders = [
                    app_name: "开发环境app名称",
                    app_icon: "开发环境app名称logo"
            ]
        }
        //测试环境
        check {
            buildConfigField "int", "ENV_TYPE", "2"
            applicationId '替换为测试ID(英文)'
            manifestPlaceholders = [
                    app_name: "开发环境app名称",
                    app_icon: "开发环境app名称logo"
            ]
        }
        //生产环境
        product {
            buildConfigField "int", "ENV_TYPE", "3"
            applicationId '替换为生产ID(英文)'
            manifestPlaceholders = [
                   app_name: "开发环境app名称",
                    app_icon: "开发环境app名称logo"
            ]
        }

2、清单文件配置(因为是用到多环境,所以要用到占位符)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.soubu.walledemo">

    <application
        android:allowBackup="true"
        android:icon="${app_icon}"
        android:label="${app_name}"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

3、需要单独调试的时候在这里选择不同版本进行调试

4、一次性打包命令:gradle assemble

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值