eg:key值12345678

资源文件string.xml存储第一部分

<!--第一部分-->
<string name="app_key_release_part1">1234</string>

配置文件BuildConfig存储第二部分

build.gradle配置   tip:加转义字符 \

buildTypes {debug{buildConfigField "String", "APP_KEY_RELEASE_PART2", "\"abcd\""}release {buildConfigField "String", "APP_KEY_RELEASE_PART2", "\"5678\""}
}

编译打包后debug模式下的BuildConfig会自动生成 APP_KEY_RELEASE_PART2 = "abcd"

public final class BuildConfig {public static final boolean DEBUG = Boolean.parseBoolean("true");public static final String APPLICATION_ID = "com.****.****";public static final String BUILD_TYPE = "debug";public static final String FLAVOR = "";public static final int VERSION_CODE = 1;public static final String VERSION_NAME = "@string/ver_code";// Fields from build type: debugpublic static final String APP_KEY_RELEASE_PART2 = "abcd";
}

编译打包后release模式下的BuildConfig 会自动生成 APP_KEY_RELEASE_PART2 = "5678"

public final class BuildConfig {public static final boolean DEBUG = false;public static final String APPLICATION_ID = "com.****.****";public static final String BUILD_TYPE = "release";public static final String FLAVOR = "";public static final int VERSION_CODE = 1;public static final String VERSION_NAME = "@string/ver_code";// Fields from build type: releasepublic static final String APP_KEY_RELEASE_PART2 = "5678";
}

最后整合成一个完整的key

//完整的key
public static String getAppKeyRelease(){String appKeyRelease = instance.getString(R.string.app_key_release_part1)+BuildConfig.APP_KEY_RELEASE_PART2;return appKeyRelease;
}

Android端密钥安全存储相关推荐

  1. android实现mysql数据库存储_一个简单的Android端对象代理数据库系统的实现(二、执行+存储)...

    这是我之前在武汉大学彭智勇老师那边做过的一个对象代理数据库系统.文中给出了一整个系统的几乎所有代码,经测试可正常运行.文章比较长,超出了知乎的最长文章范围,因此分为两篇文章.这是第二篇. 执行 执行部 ...

  2. android+静态密钥,Android - 更安全地保存静态密钥

    转载请注明出处:https://blog.csdn.net/mythmayor/article/details/107228669 引言 在日常开发中我们经常需要保存一些私密的信息,例如加解密的密钥等 ...

  3. 独家食用指南系列|Android端SQLCipher的攻与防新编

    大家好,今天给大家的是本周技术拆解官的第二篇文章,主题依然是沿用上一篇文章的主题–Android端SQLite的"食用指南",上篇文章我们讲到了基本的SQLite的定义.使用方法以 ...

  4. 【环信IM集成指南】Android 端常见问题整理

    1.如何修改系统通知中的头像和用户名 系统通知是在主module中自己写的,demo中是AgreeMsgDelegate,InviteMsgDelegate,OtherMsgDelegate中去修改头 ...

  5. Android端IM应用中的@人功能实现:仿微博、QQ、微信,零入侵、高可扩展

    本文由"猫爸iYao"原创分享,感谢作者. 1.引言 最近有个需求:评论@人(没错,就是IM聊天或者微博APP里的@人功能),就像下图这样: ▲ 微信群聊界面里的@人功能  ▲ Q ...

  6. 如何做好 Android 端音视频测试?

    在用户眼中,优秀的音视频产品应该具有清晰.低延时.流畅.秒开.抗丢包.高音效等特征.为了满足用户以上要求,网易云信的工程师通过自建源站,在SDK端为了适应网络优化进行QoS优化,对视频编码器进行优化, ...

  7. 如何实现Android端获取RTSP|RTMP流转推RTMP

    技术背景 最近不少开发者找到我们,他们在做智能家居等传统行业时,希望实现在Android板件拉取本地的RTSP或RTMP流,然后对外推送RTMP出去,亦或内部启个轻量级RTSP服务,提供个对外对接的媒 ...

  8. android端和javaWeb端实现Mqtt消息推送

    环境说明: 服务器:apollo1.7   官网下载地址:http://activemq.apache.org/apollo/download.html android的mqtt的Eclipse Pa ...

  9. Android端+java后端+servlet+MySQL的型男塑造平台【前后端源代码+论文+答辩ppt】

    活动地址:毕业季·进击的技术er 目录 前言 第一章 绪论 1.1 背景和意义 1.2 国内外研究现状 1.3 论文研究目标与内容 1.4.减肥瘦身相关概念与计算方式介绍 第二章 需求分析 2.1 平 ...

最新文章

  1. Linux 下的格式化输出命令:print
  2. 求平方根的算法 牛顿迭代法和二分法
  3. linux服务器登录时慢出现卡顿
  4. SPOJ Problem 6219:Edit distance
  5. 【C/C++】深入理解原子操作 volatile i为什么不能保证i++的原子性
  6. Objective-C的动态特性
  7. 2.tcpdump(1)
  8. 项目进度计划检查方法与项目进度管理相关模版表单(干货+资料)
  9. go语言 liteIDE 错误: 进程无法启动.
  10. 新版白话空间统计(11):ArcGIS中的PZ值标尺
  11. 任正非亲自参与,2021数字化转型再造华为!
  12. 特稿:成都,一座“吃饱了撑的”城市
  13. Python抖音去水印_一步到位_一蓑烟雨任平生
  14. OSChina 周三乱弹 ——我就爱吃月饼,就爱抢月饼。我高兴。
  15. wordpress install.php 500,安装WordPress出现500错误的解决办法 | Wopus
  16. python自动生成统计表_python处理Excel自动统计表
  17. 如何让IIS支持php网页
  18. android 设置系统壁纸,Android HttpURLConnection下载网络图片设置系统壁纸
  19. 如何利用python解方程_如何用python解方程
  20. 使用python代码给手机发短信详解(twilio的使用)

热门文章

  1. [Trie]P4551
  2. latex dvi2pdf 取消使用pdf福晰阅读器打开
  3. 洛谷10月月赛Round.1| P3400 仓鼠窝[单调栈]
  4. python发送邮件群发_Python发邮件脚本,Python调用163邮箱SMTP服务实现邮件群发
  5. Webserver简易项目
  6. 云原生之史上最全K8S环境搭建(强烈建议收藏)
  7. 软件设计模式——用Java代码实现物种特征
  8. 机器人参加高考还拿高分,究竟怎么做到的?
  9. JS 计算年龄为几岁几月几天
  10. 网络营销实战课-笔记2