Android studio 多渠道开发App及打包方法


大家好,技术小白又来总结经验了。

开发过程中我们的App首先需要在开发环境下开发,开发完之后需要打包到测试环境提供给测试人员开发,测试人员测试通过后需要打包到正式环境进行上线,这些过程中可能需要修改App图标、版本名称,版本号、以及接口地址,如果逐个修改可能会遗漏,更重要是比较繁琐且容易出错,怎么解决呢!往下看。

1、咱们先新建一个Project

Android studio 打包jar包 android studio打包项目_android


先点击上图标记①的地方会弹出一个弹窗,点击②会出现有两个模式debug和release把目光投向build.gradle(Module:app) 点击打开

Android studio 打包jar包 android studio打包项目_ico_02


这里的buildTypes中的release节点跟Build Variants 中的两个模式有一定关联,我们创建一个新项目时系统默认会创建两种模式debug和release,但是buildTypes节点中只会默认展示release

比如咱们的App在开发环境和测试环境中的接口地址不同怎么避免在切换环境时手动修改地址呢?咱们一步一步来:

1.在项目中找到我们的gradle.properties文件在里面添加两个字段

Android studio 打包jar包 android studio打包项目_App_03

debug = "Hello_debug"

release = "Hello_release"

2.我们提到在build.gradle(Module:app) buildTypes 节点中 只会默认生成一个release,我们现在需要在节点中将debug添加上,并在debug和release节点中添加一行代码如下:

Android studio 打包jar包 android studio打包项目_ico_04

buildTypes {

        debug{
            buildConfigField("String","TEXT",project.properties['debug'])
        }
        release {
            minifyEnabled false
            buildConfigField("String","TEXT",project.properties['release'])
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.config
        }
    }

3.将我们的项目rebuild一下

Android studio 打包jar包 android studio打包项目_ico_05


如果在BuildConfig文件中新增了一行代码,那咱们离我们的目标前进了一大步。4.点击Build Variants 将项目切换到release模式,这个时候我们会发现我们的App出现了一个小红叉

Android studio 打包jar包 android studio打包项目_ico_06


咱们点击看一下是啥错误

Android studio 打包jar包 android studio打包项目_App_07


原来是我们的release模式下没有签名配置,至于怎么进行签名配置, 看这里.。

5.在MainActivity中添加两行代码(我这里做的是Toast提示,你们可以把它显示在界面上,这样比较好一些)

Android studio 打包jar包 android studio打包项目_kotlin_08


点击Build Variants 切换模式运行,看一下效果吧!!!

虽然这样能实现效果,但咱们一般不在buildTypes节点下做修改,(但是这种实现方法咱们也需要了解)

现在来说一说第二种实现方法

大部分步骤和上面一样,我们同样是在build.gradle(Module:app) 中来操作,废话不多说咱们直接上代码,在我们的android节点里添加

Android studio 打包jar包 android studio打包项目_ico_09

productFlavors{ //不同环境下可以存放不同的包名、版本号、版本名、以及接口地址
        location{
            buildConfigField('String','TEXT',project.properties['LocationText'])
            manifestPlaceholders = [
                    app_icon   : "@mipmap/ic_launcher",
            ]
        }

        online{
            buildConfigField('String','TEXT',project.properties['OnlinText'])
            manifestPlaceholders = [
                    app_icon   : "@mipmap/friend_head",
            ]
        }

    }

在 manifestPlaceholders中我们可以在不同的模式中修改我们的App图标、版本号、版本名称及接口地址,在这里我们以修改图标为例。

app_icon 就相当于我们图标的匿名,设置完后我们需要在清单文件中添加进去如下图

Android studio 打包jar包 android studio打包项目_kotlin_10


Rebuild 一下我们项目,继续将我们的目光投向 Build Variants ,点击展示如下

Android studio 打包jar包 android studio打包项目_ico_11


赶快切换模式运行看看效果吧。

在这里再给大家介绍几个打包的方法吧

方法一:

如下图,在我们的项目中找到Gradle ,点击打开

Android studio 打包jar包 android studio打包项目_android_12

方法二:

在Terminal命令行中输入gradlew assembleRelease或者gradlew assembleDebug,然后回车开始编译,如下图:

Android studio 打包jar包 android studio打包项目_java_13


按照上述方法操作会发现我们的项目里会增加几个文件,这就是我们需要的apk文件(点击debug或者release即可查看apk文件),如下图(打包需要耗时请耐心等待):

Android studio 打包jar包 android studio打包项目_App_14


我们可以将apk安装到我们手机上,对比一下看看有什么不同(如果有条件的话,可以用多个手机,方便观察哦)

感谢您百忙抽空阅读!!!