Android Studio 生成jks密钥 和 Gradle 多渠道打包

本文介绍了如何在Android Studio中生成jks密钥,使用Gradle进行多渠道打包,包括debug、release版本,并讨论了applicationId与packageName的区别及其在打包过程中的作用。通过设置BuildType和Flavors,可以轻松管理不同版本的APK,同时避免冲突。
摘要由CSDN通过智能技术生成

在项目开发过程中,经常会有需要打包不同版本的 APK 的需求。 比如 debug版,release版,dev版等等。 有时候不同的版本中使用到的不同的服务端api域名也不相同。 比如 debug_api.com,release_api.com,dev_api.com等等。

不同的版本对应了不同的 api 域名,还可能对应不同的 icon 等。

如果每次都在打包前修改我们都手动来修改,这样实在是不够方便。

但如果我们使用了 Android Studio 和 Gradle,这个麻烦就可以轻松省去。

具体方式如下: 在 Android Studio 中打开 build.gradle(Module中)的 android 节点下添加如下代码

buildTypes {

    //这里的名字自定义,不要求大小写
    release{
    
        // 这里是在 applicationId 中添加了一个后缀。所以『.』要加上
        applicationIdSuffix ".release" 
        
        // 这里的作用是选择是否混淆代码
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }

    dev{
        applicationIdSuffix ".dev"
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

    }
}

// 这里是为了不同过的版本设置一些特殊的参数,并不直接和 buildType 关联。
//例如:使用 buildType 中的 dev 版本,也可以使用 flavors_release 里面设置的自定义参数。这需要自己按照需求制定。
productFlavors{

//自定义名字不过不能和上面buildType中相同,不然Gradle编译会不通过。在这里使用了『flavors_』前缀以便区分。
    flavors_release{
    
    // manifestPlaceholders中写到的『str』,『package_name』不支持用大写,否则Gradle编译会不通过。
    // 这里所设置的变量可以直接使用在『AndroidManifest.xml』中,使用方式为:${package_name}
    // android:label="${package_name}" 
        manifestPlaceholders = [str:"releaseStr",package_name:"com.sunhz.mvptest.release"]

        // 这里的参数是为了在 java 代码中使用,具体的使用方式为:context.getResources().getString(R.string.strKey);
        resValue("string" , "strKey","releaseStrValue")
    }

    flavors_dev{
        manifestPlaceholders = [str:"devStr",package_name:"com.sunhz.mvptest.dev"]

        resValue("string" , "strKey","devStrValue")
    }
}

上面设置完成后,我们要在哪里使用它?

使用方式如下: 在 Android Studio 的工具栏中,找到『Build』项,找到『Generate Signed APK…』,如下图。

利用 Android Studio 和 Gradle 打包多版本APK

选择 Module -> 创建 APK key,或者输入 APK key密码 -> 关键来了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值