美文网首页Android开发经验谈Android开发Android技术知识
一劳永逸快速配置测试账号切换AccountSwitcher

一劳永逸快速配置测试账号切换AccountSwitcher

作者: 益力多不多 | 来源:发表于2019-02-12 15:22 被阅读32次

AccountSwitcher

可设置多个测试账号并且能快速切换的工具。无需自行构建界面,轻松配置测试账号,同时避免测试账号的泄漏。

项目地址:https://github.com/KKaKa/AccountSwitcher

:smile: 如果这对你有帮助,随手给个star,这将是我前进的动力。

由来

由于在项目中,经常需要切换测试账号来测试不同的场景,每次都要手动输入那些烂熟如心的账号和密码,就想着有个一键切换账号来避免手输,而且如果能连界面都不写的话就更好了,并且能在以后的任何项目中直接配置使用,不用每次都去重新写界面,于是乎就产生了AccountSwitcher。

效果展示

效果.gif

接入

implementation 'com.sdj.kkaka:account-switcher:1.0.3'
debugAnnotationProcessor 'com.sdj.kkaka:account-switcher-compiler:1.0.3'
releaseAnnotationProcessor 'com.sdj.kkaka:account-switcher-compiler-release:1.0.3'

使用

推荐private修饰且勿引用任何一个变量。避免后续混淆无法正常混淆该文件。
使用@Account修饰的属性表示一个账号。accountName,password,alias三个值必须指定。isDefault默认为false,所有账号中,需要指定一个为isDefault,有且只能有一个账号isDefault = true!!!

/**
 * @Description:请勿引用此类中任何变量
 */
public class AccountConfig {

    @Account(accountName = "13737373737",password = "12341234",alias = "奥巴马",isDefault = true)
    private String accountAo;

    @Account(accountName = "14711111111",password = "45674567",alias = "马冬梅")
    private String accountMei;

    @Account(accountName = "15521155958",password = "78907890",alias = "自己的")
    private String accountMY;

}

在任何需要监听账号变换的地方添加监听,

AccountSwitcher.addAccountChangeListener(new OnAccountChangeListener() {
    @Override
    public void onAccountChange(AccountBean account) {
       //......
    }
});

安全

由于账号密码这种极度机密的信息不能随意泄漏,AccountSwitcher这在方面做了处理,在debug版本中显示如下:

public final class AccountSwitcher {
  ...
  public static final AccountBean ACCOUNT_ACCOUNTAO = new AccountBean("13737373737","12341234","奥巴马");

  public static final AccountBean ACCOUNT_ACCOUNTMEI = new AccountBean("14711111111","45674567","马冬梅");

  public static final AccountBean ACCOUNT_ACCOUNTMY = new AccountBean("15521155958","78907890","自己的");

  private static final AccountBean DEFAULT_ACCOUNT = ACCOUNT_ACCOUNTAO;
  ....
}

在release版中,显示如下:

public final class AccountSwitcher {
  ...
  public static final AccountBean ACCOUNT_ACCOUNTAO = new AccountBean("","","");

  public static final AccountBean ACCOUNT_ACCOUNTMEI = new AccountBean("","","");

  public static final AccountBean ACCOUNT_ACCOUNTMY = new AccountBean("","","");

  private static final AccountBean DEFAULT_ACCOUNT = ACCOUNT_ACCOUNTAO;
  ....
}

AccountSwitcher在release中会自行将敏感信息替换为"",避免泄漏,同时开启混淆会将AccountConfig混淆,同样不会造成信息泄漏。这也是为什么AccountConfig的变量要为private且不要引用的原因。

自带账号切换界面

如果需要账号切换界面AccountSwitcherBoxActivity,需导入'com.sdj.kkaka:account-switcher:1.0.3',建议添加debug检查,

if (!BuildConfig.DEBUG) {
    //....
    AccountSwitcherBoxActivity.toAccountSwitcherBoxActivity(this);
}

相关文章

  • 一劳永逸快速配置测试账号切换AccountSwitcher

    AccountSwitcher 可设置多个测试账号并且能快速切换的工具。无需自行构建界面,轻松配置测试账号,同时避...

  • 网页相关

    快速设置测试账号 快速注入测试账号

  • “每天半小时了解安全测试”之身份管理测试

    身份管理测试包含:测试角色定义、测试用户注册过程、测试账号配置过程、测试账号类型和用户账号可猜测性、测试弱账户名。...

  • 安全测试 : 之身份管理测试

    身份管理测试包含:测试角色定义、测试用户注册过程、测试账号配置过程、测试账号类型和用户账号可猜测性、测试弱账户名。...

  • 关于h5页面缓存那些事

    昨天测试iOS的收入页,切换账号后点击提现button直接跳转到了上次用户进入的收入页面,问题来了,切换了账号,又...

  • 横竖屏切换适配总结

    开发测试环境Android 7.0 一.配置测试 1.不配置任何东西 切换横竖屏调用了 2.配置只orientat...

  • 使用 Jenkins 实现Android自动化打包和踩坑经历

    每当有项目做的过程中,测试需要做单元测试,每次手动的切换生产和测试环境,切换各种推送、统计和第三方账号相当的麻烦,...

  • git常用命令

    初始化 git init 配置账号名和邮箱 使用ssh clone 配置ssh key 进入.ssh目录 切换目录...

  • 微信公众号开发

    目录 测试账号 内网穿透 接口配置校验接口配置接口 JSSDK安全域名测试页面开发调试 网页授权回调域名测试页面开...

  • Spring高级装配Bean

    开发、测试和生产环境的配置和切换 开发 -> 测试 -> 部署上线,每个阶段的环境的配置参数会有不同,如数据源,文...

网友评论

    本文标题:一劳永逸快速配置测试账号切换AccountSwitcher

    本文链接:https://www.haomeiwen.com/subject/mwhkeqtx.html