# 系统设计要求 变更日志 版本 日期 变更 v0.1 20180703 创建文档

v0.2 20180703 增加了证书交付,明确安装APP后无需打开APP

v0.3 20180704 不在白名单的APP处理方式,增加厂商型号代码

v0.4 20180704 厂商序列号、随机数增加关于重复性的要求

v0.5 20180704 重复性要求描述改进

v0.6 20180709 增加Linux系统,增加厂商和机型

v0.7 20180717 1. 默认静默打开,额外增加不静默打开配置

2. 额外增加静默安装异常的日志记录

3. 增加序列号原则,获取方式

v0.8 20180726 增加厂商和机具

v0.9 20180726 增加厂商和机具

v0.10 20180816 增加本文档适用于微信支付订制机具的描述

v0.11 20180816 增加厂商和机具

v0.12 20180817 增加厂商和机具

v0.13 20180821 增加内置APP需求

v0.14 20180822 增加系统要求

# 系统版本

# Android

android v7.1以上,平板版本。

# Windows

Windows 7以上,支持32位和64位系统

# 系统要求

# Windows 序列号路径C:\serial.txt要求可读

WxpayFaceService运行需要管理员权限

# 预装APP

设备需要预装最新稳定版刷脸支付SDK

预装要求: 重置系统之后需要保留

# 设备序列号 (All)

设备序列号,用于唯一标识一台设备。生成设备序列号时, 需要确保全局唯一性。

需要满足以下四个要求:

1. 序列号在应用里面可以获取

2. 序列号重装系统后不会变更

3. 序列号更换主板后可以写入

4. 序列号永远和机器后面铭牌上面贴的编号一致

# 序列号生成规则 注: 设备商必须保证设备SN符合微信制定要求, 否则由于SN规则不符导致的设备使用, 数据统计等问题, 设备商自行负责解决。

构成规则:

# Android:

设备商代码(2位) + 系统类型(1位) + 型号代码(2位) + 厂商序列号(10位) + 随机数(8位) 字段名 长度 内容/格式 字符取值范围 设备商代码 2 由微信支付为厂商分配 0-9, A-Z

系统类型 1 A: 表示Android, W: 表示Windows, L表示Linux 0-9, A-Z

型号代码 2 由厂商提供设备型号给微信支付, 微信支付分配型号代码给厂商 0-9, A-Z

厂商序列号 10 格式内容由厂商按自家现有规则来确定。

序列号需要全局唯一,同厂商的任意两台机器的序列号不可重复。 0-9, A-Z

随机数 8 随机数每一位在0-9, A-Z中取值。需要保证随机性,对随机数的唯一性可以不作强校验。

(注意随机数生成时,先初始化) 0-9, A-Z

# Windows: 字段名 长度 内容/格式 字符取值范围 设备商代码 2 由微信支付为厂商分配 0-9, A-Z

系统类型 1 A: 表示Android, W: 表示Windows, L表示Linux 0-9, A-Z

型号代码 2 由厂商提供设备型号给微信支付, 微信支付分配型号代码给厂商 0-9, A-Z

厂商序列号 12 使用网卡MAC地址 0-9, A-Z

随机数 6 随机数每一位在0-9, A-Z中取值。需要保证随机性,对随机数的唯一性可以不作强校验。

(注意随机数生成时,先初始化) 0-9, A-Z

# 微信读取序列号的方法

# Android

Android 8 开始声明, Build.SERIAL获取SN方式将被废弃,将使用Build.getSerial()。

Android 9 已经正式废弃原方式

# Windows

从c:\serial.txt中读取。

在安装人脸SDK之前,需要先生成这个文件。

# APP的静默升级 (Android)

由厂商ROM制定实现,让 com.tencent.wxpayface 升级时不弹窗提示。

# 异常处理

对于安装失败的情况,需要把安装异常记录在指定位置的文件里。

# 异常日志目录

Environment.getExternalStorageDirectory().getAbsolutePath() + "/wxpayface/install_log/"

# 异常日志文件名

包名.log

例如

com.tencent.wxpayface.log

# 异常日志记录格式 只需要一行,每次覆盖

数据格式:

时间戳,包名,当前版本,新安装版本,错误码

例如

1531821994,com.tencent.wxpayface,1.0.9,1.1.0,-18

# Android 人脸APK 系统预置方法

前两项测试通过后,下载刷脸SDK进行功能自测。

# 微信支付人脸APK预置说明:

1.把apk更名为wxfacepay.apk

2.新建wxfacepay目录,把wxfacepay.apk放进该目录

3.用zip工具打开wxfacepay.apk, 把里边的lib拉出来放在wxfacepay目录下,把lib目录下的armeabi-v7a目录改为arm

4.将wxfacepay目录预置到/system/priv-app/目录下。

5.最终目录结构如下:

/system/priv-app/wxfacepay目录下有一个wxfacepay.apk

/system/priv-app/wxfacepay/lib/arm目录下有wxfacepay自带的so库

注意:内置后可能存在selinux问题,需要进行功能测试

微信android系统要求,系统设计要求相关推荐

  1. android 调用系统分享到微信,Android调用系统分享直接抵达微信

    前言 相对于使用微信官方的分享sdk,系统调用的分享到微信还是有很大的差异的. 系统分享而微信官方sdk分享的最大区别就是关于朋友圈分享,微信朋友圈对系统分享的限制是只允许分享照片.而对分享给联系人, ...

  2. android微信电话锁屏,解决 Android 7.0 系统中,微信无法在锁屏画面显示

    文章版块:HTC One A9 在 Android 7.0 系统中htc手机微信怎么截屏htc手机微信怎么截屏,会出现微信无法在锁屏画面显示的状况.建议您进行下面修改就可以解决: 进入"HT ...

  3. 用android后勤报修系统,后勤微信报修系统—易报修

    企业后勤每天总是有个各种各样的新问题以及长期以来的问题需要解决,长期以来各类设备维护是最为麻烦的一件事情.随着互联网的快速发展,现今已经可以通过微信来实现维修管理模块的在线报修,维修申请.维修响应.维 ...

  4. android auto 能微信_Android Auto车载系统能用了

    和智能设备商相比,汽车厂商的动作简直慢如大象.比如苹果Carplay 和谷歌Android Auto车载系统发布以多时,却一直好像是隐形人一样难以让普通汽车用户真正用到.不过这种局面正在慢慢解除--谷 ...

  5. Android监听系统输入法键盘弹出显示与隐藏事件

    Android监听系统输入法键盘弹出显示与隐藏事件 有时候需要监听Android系统输入法的弹出显示事件,比如:微信聊天时,不管你当前在聊天中的什么位置(上滑查看消息历史),每当你点击输入框时,都会自 ...

  6. 随笔记录2、Android端调用系统分享文件记录

    Android端调用系统发送文件 效果如如下: Android 7.0以上需要适配 第一步: 1. AndroidManifest.xml中注册.provider 2. android:resourc ...

  7. Android如何判断系统是否已经被Root

    Android如何判断系统是否已经被Root 前言 App检测Android系统是否已经Root的几种方法 1 判断系统内是否包含 su 2 判断系统内是否包含 busybox 3. 检测系统内是否安 ...

  8. 微信团队原创分享:iOS版微信的内存监控系统技术实践

    为什么80%的码农都做不了架构师?>>>    本文来自微信开发团队yangyang的技术分享. 一.前言 FOOM(Foreground Out Of Memory),是指App在 ...

  9. android 系统相册 多远,【系统相册】Android 保存图片到系统相册

    保存完图片后,可以在内存设备的文件系统相册目录下看到对应图片(以小米手机为例,系统相册的路径为:/storage/emulated/0/DCIM/Camera).但是,使用系统图库无法马上看到该图片, ...

  10. Android 面试必备 - 系统、App、Activity 启动过程

    前言 最近准备更新 Android 面试必备基础知识系列,有兴趣的可以关注我的微信公众号 stormjun94,有更新时,第一时间会在微信公众号上面发布,同时,也会同步在 GitHub 上面更新,如果 ...

最新文章

  1. 一步一步学习hadoop(七)
  2. LeetCode Binary Search Tree Iterator( 二叉树迭代器)
  3. 【C 语言】字符串模型 ( 字符串翻转模型 | 借助 递归函数操作 逆序字符串操作 | 引入线程安全概念 )
  4. 高并发编程-通过volatile重新认识CPU缓存 和 Java内存模型(JMM)
  5. WebRTC媒体服务器开源项目介绍
  6. 解析针对 HTTP/2 协议的不同步攻击
  7. .net core2.0下使用Identity改用dapper存储数据
  8. Go框架 gin 源码学习--路由的实现原理剖析
  9. 区分节点列表和HTML集合
  10. python 黑客工具开发_python黑客软件的搜索结果-阿里云开发者社区
  11. Zend Studio 10 phpFormatter 错误的解决
  12. Elasticsearch增删改查 之 —— mget多文档查询
  13. ID3算法(含实例)
  14. Visio中画各种线条与箭头
  15. Python int()使用小结
  16. 立体视觉:合成数据集的解析与工具
  17. 操作系统锁的实现方法有哪几种_深入理解多线程(四)——Moniter的实现原理...
  18. songtest 歌曲下载 器
  19. 《Recurrent Chunking Mechanisms for Long-Text Machine Reading Comprehension》ACL2020论文阅读
  20. python乘法符号手写_利用Python自动生成小学生加减乘除口算考试题卷,不再为手写算术题烦恼!...

热门文章

  1. 第10章 模糊查询和聚合函数
  2. 打造一款可靠的WAF(Web应用防火墙)
  3. 虚拟机如何使用计算机中文件,如何从电脑往虚拟机复制文件
  4. CC2652RB1F开发板烧录ZNP的固件
  5. 利用Meshlab旋转三维点云模型
  6. IBM X3650M3存储raid阵列瘫痪的恢复过程
  7. 【BZOJ2827】千山鸟飞绝 hash+堆+SBT
  8. uboot利用uEnv.txt文件实现灵活功能(加载PL侧bit,修改uenvcmd,配置bootargs,配置bootm,配置bootz)
  9. ESP8266制作天气预报海藻球微景观生态缸记录(一)
  10. 一线顶级互联网公司offer的成功经验【转自IT面试】