Android同时安装Release和Debug版本的方法
作者:玲の 时间:2022-02-11 08:51:20
一般项目做到后期,在测试的时候,需要在测试版本和正式版本之间进行频繁的切换,怎么办呢?土豪的话可以考虑使用两台机器,同时测试,然而为了方便测试,节约成本,最好的办法当然是在同一台机器上安装不同的版本。
然而,原则上来说,两个APP同时安装,由于签名和包名的问题是不可以的,不过,万能的天道之下,只有你想不到的,没有做不到的,首先我们分析一下原因,1.签名、2包名。也就是说,只要解决了这两个问题我们就成功了一半。第一个自然好解决,debug和release我们分别指定不同的签名就行了。第二个怎么办呢?难道要复制一份代码,修改包名吗?这样岂不是显得太low?而且两个项目同时跟进维护容易出错。最重要的是显示不出逼格啊!这个时万能的gradle出来了(那谁,不要扔鞋子啊!…………)
1.找到build.gradle(Module: app)
找到BuildTypes中添加如下代码
buildTypes {
release {
applicationIdSuffix ".release"
resValue "string", "app_name", "@string/app_name_release"
// minifyEnabled false
// proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
applicationIdSuffix ".debug"
resValue "string", "app_name", "@string/app_name_debug"
}
}
2.找到strings.xml
添加代码
<string name="app_name_release">Release版本</string>
<string name="app_name_debug">Debug版本</string>
3.找到AndroidManifest.xml
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/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>
来源:https://segmentfault.com/a/1190000017486137
标签:Android,安装,Release,Debug
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
JavaFX实现简单日历效果
2023-05-16 08:43:30
![](https://img.aspxhome.com/file/2023/5/61325_0s.jpg)
jdk自带线程池实例详解
2022-05-14 02:04:56
![](https://img.aspxhome.com/file/2023/9/113499_0s.jpg)
java如何将一个float型数的整数部分和小数分别输出显示
2022-08-17 16:50:26
轻松学习C#的String类
2021-06-21 02:03:06
![](https://img.aspxhome.com/file/2023/6/122696_0s.png)
android APP登陆页面适配的实现
2022-08-27 17:55:57
![](https://img.aspxhome.com/file/2023/8/88698_0s.gif)
java实现的日期时间转换工具类完整示例
2022-10-08 19:05:28
java动态代理(jdk与cglib)详细解析
2022-06-01 19:14:21
RxJava2.x实现定时器的实例代码
2023-08-06 17:41:01
Java 把json对象转成map键值对的方法
2023-08-25 01:58:14
C#实现策略模式
2022-02-09 17:19:01
![](https://img.aspxhome.com/file/2023/6/81156_0s.png)
springboot 2.0 mybatis mapper-locations扫描多个路径的实现
2023-07-12 02:30:53
Springboot笔记之热部署及不生效的解决方案
2023-11-03 02:40:00
![](https://img.aspxhome.com/file/2023/9/83569_0s.png)
jdk1.8中的for循环问题记录
2023-10-16 04:08:34
![](https://img.aspxhome.com/file/2023/4/82044_0s.png)
C# 获取当前总毫秒数的实例讲解
2023-02-22 12:57:00
Kotlin启动协程的三种方式示例详解
2023-06-07 02:58:53
![](https://img.aspxhome.com/file/2023/6/117106_0s.png)
C语言与C++中关于字符串使用的比较
2022-01-22 01:30:37
Java 实现repalceAll只替换第二个匹配到的字符串
2021-06-12 11:56:20
Java中常用缓存Cache机制的实现
2023-05-27 23:32:22
Android 完全退出的实例详解
2022-11-01 22:56:22
Java的动态绑定与双分派_动力节点Java学院整理
2021-07-14 11:18:50